WP Manifestindependent plugin directory
manifest / media / qplayer2-wordpress

QPlayer2 WP Registry grade B. Medium-severity findings · 1 findingWP RegistryMedium-severity findings · 1 findingOpen the reportB

一款简洁小巧的 HTML5 底部悬浮音乐播放器

★ 25stars
v2.0.7latest · 5 years ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/moeshin/qplayer2-wordpress/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

QPlayer2 for WordPress

一款简洁小巧的 HTML5 底部悬浮音乐播放器

安装

  1. 下载 或克隆此工程
  2. 将文件夹重命名为 QPlayer2,并放到 WordPress 的插件目录,默认 wp-content/plugins
  3. 在后台启用插件

歌曲列表

JSON 数组

键名 说明 必须
name 歌曲名称 是
artist 艺术家数组或文本 否
cover 封面链接 否
lyrics 歌词文本 否
provider 提供器名称 否,默认 default
lrc 歌词链接,随提供器而定 否
[{
    "name": "Nightglow",
    "artist": "蔡健雅",
    "audio": "https://cdn.jsdelivr.net/gh/moeshin/QPlayer-res/Nightglow.mp3",
    "cover": "https://cdn.jsdelivr.net/gh/moeshin/QPlayer-res/Nightglow.jpg",
    "lrc": "https://cdn.jsdelivr.net/gh/moeshin/QPlayer-res/Nightglow.lrc"
}, {
    "name": "やわらかな光",
    "artist": "やまだ豊",
    "audio": "https://cdn.jsdelivr.net/gh/moeshin/QPlayer-res/やわらかな光.mp3",
    "cover": "https://cdn.jsdelivr.net/gh/moeshin/QPlayer-res/やわらかな光.jpg",
    "lyrics": "[00:00.00]请欣赏"
}]

鸣谢

Releases

8 releases.

Tag
Published
v2.0.7 latest
Sep 20, 2021 5 years ago
Aug 14, 2021 5 years ago
May 7, 2021 5 years ago
Feb 22, 2021 5 years ago
Nov 22, 2020 5 years ago
Jul 11, 2020 6 years ago
Jun 18, 2020 6 years ago
Jun 18, 2020 6 years ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.

B grade

Security

QPlayer2 2.0.7 · audited by WP Registry

Medium-severity findings.

1 medium
Audited release
2.0.7
Findings
1
Worst severity
medium
Content hash
4b1402887eb35216b30965e4…

Findings

  • medium Unauthenticated AJAX cache flush (no capability, no nonce)

    missing_auth

    QPlayer2 registers the same QPlayer2::ajax callback on both wp_ajax_QPlayer2 and wp_ajax_nopriv_QPlayer2. QPlayer2_Ajax treats request param do=flush as a privileged operation: it instantiates the configured cache backend and calls flush() with no is_user_logged_in, current_user_can('manage_options'), or wp_verify_nonce. The admin settings page exposes this as a GET link (admin-ajax.php?action=QPlayer2&do=flush) with no nonce, so an unauthenticated visitor or a CSRF img/GET can truncate wp_{prefix}QPlayer2, delete Redis keys QPlayer2_*, or bump the Memcached prefix. On exception the handler prints the message and stack trace as HTML. The music-proxy branch of the same action (server/type/id) is intended public and is not this finding.

    QPlayer2_Ajax.php:16-35

    Recommendation

    Split flush off the public music AJAX action. Require current_user_can('manage_options') and check_ajax_referer before Cache::flush(); change the settings-page control to a POST with a nonce. Do not print exception traces to unauthenticated clients.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.