[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f25LPVP0HIf8Mx4M9sdEpfh1VHYdJOde5KMI6VEuXYpU":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":35,"analysis":130,"fingerprints":210},"gravatar-china","Gravatar China","1.0","LOO2K","https:\u002F\u002Fprofiles.wordpress.org\u002Floo2k\u002F","\u003Cp>这是一个关于 Gravatar Cache 的重要更新，之前（2010.10.15） Gravatar 由于一些众所未知的原因不能访问，所以当初制作了一个 Gravatar 头像的本地缓存插件，但是由于当时编写的比较匆忙，遗留下了一些问题，包括但不限于：无法使用默认图片、无法缓存不同大小的头像等；\u003C\u002Fp>\n\u003Cp>最近一段时间（2011.08.02），Gravatar 再次无法访问，所以重新写了一个插件 Gravatar China for WordPress，并解决的之前存在的所有已知的问题；\u003C\u002Fp>\n\u003Cp>Gravatar China for WordPress 特性\u003C\u002Fp>\n\u003Cpre>\u003Ccode>* Gravatar 头像防墙补丁：替换 Gravatar 头像能正常访问的地址；\n* Gravatar 本地缓存：对特殊的网络环境下给头像进行本地缓存；\n* 自定义设置缓存过期时间；\n* 国内、国外主机用户通用；\n* 完美兼容 WordPress；\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Gravatar China for WordPress 说明\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>本插件针对中国大陆的网络环境制作；\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>一般情况下，你可以在 Gravatar 头像不能正常访问的时候启用本插件的 “Gravatar 补丁”，它能帮助你的 WordPress 访客连接到正常的头像地址上；\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>通常，根据网页前端的性能优化来说，不推荐用户启用 “Gravatar 本地缓存”，因为它对 WordPress 的性能有一定的影响，当然这个影响仅限于生成本地缓存的时候；（启用缓存前请确认你的 WordPress 目录 wp-content\u002Fplugins\u002Fgravatar-cn\u002Fcache 可写）\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Here is a short description of the plugin.  This should be no more than 150 characters.  No markup here.",10,4244,0,"2011-08-06T02:42:00.000Z","1.1","2.0.2","",[19,20,21,22],"avatar","comments","gravatar","local-cache","http:\u002F\u002Floo2k.com\u002Fblog\u002Fgravatar-cache-reset\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgravatar-china.1.0.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"loo2k",1,30,84,"2026-04-04T18:41:14.725Z",[36,55,74,97,114],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":31,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":17,"tags":50,"homepage":53,"download_link":54,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"easygravatars","Easy Gravatars","1.3","Dougal Campbell","https:\u002F\u002Fprofiles.wordpress.org\u002Fdougal\u002F","\u003Cp>This plugin allows you to automatically add Gravatars for commenters to your\u003Cbr \u002F>\ntheme, if your theme does not already support them.\u003C\u002Fp>\n\u003Cp>According to the Gravatar.com website, Gravatars are Globally Recognized\u003Cbr \u002F>\nAvatars, or an “avatar image that follows you from weblog to weblog\u003Cbr \u002F>\nappearing beside your name when you comment on gravatar enabled sites.”\u003Cbr \u002F>\nYou register with the Gravatar server, and upload an image which you will\u003Cbr \u002F>\nuse as your avatar. The gravatar image is keyed to your email address, so\u003Cbr \u002F>\nthat it is unique to you.\u003C\u002Fp>\n\u003Cp>This plugin will display gravatars for the people who comment on your posts.\u003Cbr \u002F>\nYou do not need to modify any of your template files — just activate the\u003Cbr \u002F>\nplugin, and it will add gravatars to your comments template automatically.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Based on a code snippet from Matt Mullenweg:\u003Cbr \u002F>\n  http:\u002F\u002Fphotomatt.net\u002F2007\u002F10\u002F20\u002Fgravatar-enabled\u002F\u003Cbr \u002F>\n  http:\u002F\u002Fpastebin.ca\u002F743979\u003C\u002Fp>\n\u003Cp>Props to David Potter for pointing out that Gravatar normalizes email\u003Cbr \u002F>\naddresses to lowercase before hashing with MD5:\u003Cbr \u002F>\n  http:\u002F\u002Fdpotter.net\u002FTechnical\u002Findex.php\u002F2007\u002F10\u002F22\u002Fintegrating-gravatar-support\u002F\u003C\u002Fp>\n","Add Gravatars to your comments without modifying any template files. Just activate, and you're done!",200,64590,100,"2010-01-14T15:36:00.000Z","3.0.5","2.0.4",[19,51,20,21,52],"avatars","gravatars","http:\u002F\u002Fdougal.gunters.org\u002Fplugins\u002Feasy-gravatars","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasygravatars.1.3.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":44,"downloaded":63,"rating":46,"num_ratings":64,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":17,"tags":68,"homepage":72,"download_link":73,"security_score":46,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"top-commentators-widget","Top Commentators Widget","1.7","Lorna Timbah","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebgrrrl\u002F","\u003Cp>This plugin creates a widget to show the top commentators in your WP site. Always go back to the Widget settings after each version update to Save your settings. Demo can be found at http:\u002F\u002Fdemo.webgrrrl.net\u003C\u002Fp>\n\u003Cp>The Top Commentators Widget plugin is adapted from Show Top Commentators plugin at Personal Financial Advice, this widget is easier to manage via the control form (no need to edit the PHP file); additional options are also available to make it more flexible. Read the FAQ section on how to customize the widget. Read the Changelog as well as http:\u002F\u002Fwebgrrrl.net\u002Ftags\u002Ftcw for the latest news on this widget.\u003C\u002Fp>\n\u003Cp>This widget is extensively tested with the following settings: Google Chrome 13.0.782.215 m, PHP 5.2.13, Apache 2.2.15 (Win32), MySQL 5.0.51a, WordPress 3.2.1. Further testing and bug report on this widget is greatly welcomed and appreciated.\u003C\u002Fp>\n","Adds a sidebar widget to show the top commentators in your WP site. Demo: http:\u002F\u002Fdemo.webgrrrl.net",156008,2,"2025-12-20T13:00:00.000Z","6.6.5","2.8",[20,21,69,70,71],"seo","sidebar","widget","http:\u002F\u002Fwebgrrrl.net\u002Farchives\u002Fmy-top-commentators-widget-quick-dirty.htm","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftop-commentators-widget.1.7.zip",{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":46,"downloaded":82,"rating":83,"num_ratings":84,"last_updated":85,"tested_up_to":86,"requires_at_least":87,"requires_php":17,"tags":88,"homepage":94,"download_link":95,"security_score":96,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"polygon-recent-comments-with-avatar","Polygon Recent Comments With Avatar","1.0.4","polyxgo","https:\u002F\u002Fprofiles.wordpress.org\u002Fsanddesert88\u002F","\u003Cp>Display recent comments in the sidebar with user avatar\u002FGravatar support, styles, information, and an active scrollbar for handling numerous comments.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolygon-recent-comments-with-avatar\u002Ffaq\u002F\" rel=\"ugc\">FAQ\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwikipoly.com\u002Fen\u002Fpoly-comments\u002F\" rel=\"nofollow ugc\">Support and request additional features as needed\u003C\u002Fa>\u003C\u002Fp>\n","Polygon Recent Comments With Avatar: Recent comments with avatar support, including Gravatar, date, username, user link, and scrollbar.",5262,94,6,"2024-05-24T22:52:00.000Z","6.5.8","4.1",[89,90,91,92,93],"display-recent-comments","recent-comment-with-author-gravatar","recent-comments","recent-comments-information","recent-comments-with-avatar","https:\u002F\u002Fpolyxgo.vn","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpolygon-recent-comments-with-avatar.1.0.4.zip",92,{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":46,"num_ratings":64,"last_updated":107,"tested_up_to":108,"requires_at_least":109,"requires_php":17,"tags":110,"homepage":112,"download_link":113,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"default-gravatar-sans","Default Gravatar Sans","1.1.2","raohmaru","https:\u002F\u002Fprofiles.wordpress.org\u002Fraohmaru\u002F","\u003Cp>Disables default Gravatar.com avatar and redirection to gravatar.com servers, and allows to define a local default avatar image for users without avatar in his profile.\u003C\u002Fp>\n\u003Ch3>1.1.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Bug fixes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.1.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Bug fixes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Compatible with WordPress 4.8.\u003C\u002Fli>\n\u003Cli>Support for high resolution avatar images\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Initial release.\u003C\u002Fli>\n\u003C\u002Ful>\n","Disables Gravatar.com avatar, and allows one local default avatar image for users without avatar in his profile.",50,4197,"2017-10-03T12:01:00.000Z","4.8.28","3.0",[19,20,21,111],"users","http:\u002F\u002Fraohmaru.com\u002Fblog\u002Fwordpress\u002Fdefault-gravatar-sans\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdefault-gravatar-sans.1.1.2.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":46,"num_ratings":31,"last_updated":124,"tested_up_to":125,"requires_at_least":126,"requires_php":17,"tags":127,"homepage":128,"download_link":129,"security_score":46,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"mirror-gravatar","Mirror Gravatar","1.5","jwz","https:\u002F\u002Fprofiles.wordpress.org\u002Fjwz\u002F","\u003Cp>Locally mirrors commenters’ Gravatar, Libravatar and Mastodon avatars and serves them from your site, rather than loading them from a third-party web site upon each page load.\u003C\u002Fp>\n\u003Cp>This has several effects:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>If most of the comments on a post have no avatar, those turn into \u003Cem>one\u003C\u002Fem> load of a shared image, instead of one for each comment, that happens to return the same “mystery” image.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>You will be serving more (small) images.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>If a commenter’s URL looks like a link to a Mastodon \u002F ActivityPub profile, their Mastodon account’s avatar will be displayed.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>When commenting, a live preview of the avatar tracks the contents of the “Email” field.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.gravatar.com\u002F\" rel=\"nofollow ugc\">gravatar.com\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.libravatar.org\u002F\" rel=\"nofollow ugc\">libravatar.org\u003C\u002Fa> no longer have a web-bug on your blog that is loaded by each viewer.  Instead of being loaded at every page view, the avatar is loaded just once, on the server-side, at the time each new comment is posted.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>If someone changes or deletes their avatar, your site continues displaying the image that was their avatar at the time that they last posted.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Likewise, the user’s Gravatar or Mastodon profile is saved along with their comment, viewable by admins even if they later change or delete it.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Security and Privacy\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.libravatar.org\u002F\" rel=\"nofollow ugc\">Libravatar\u003C\u002Fa> is open source. Gravatar is \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGravatar\" rel=\"nofollow ugc\">owned by WordPress\u003C\u002Fa>, and their \u003Ca href=\"https:\u002F\u002Fautomattic.com\u002Fprivacy\u002F\" rel=\"nofollow ugc\">privacy policy\u003C\u002Fa> says that they don’t monetize that info.  But hey, corporate policies change, subpoenas exist, and domain names get sold.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Should you trust Gravatar with user data? Well, in 2024, Gravatar announced that they are \u003Ca href=\"https:\u002F\u002Fjwz.org\u002Fb\u002FykXF\" rel=\"nofollow ugc\">pivoting to blockchain\u003C\u002Fa>, whatever that means, so that’s fairly disqualifying. See also \u003Ca href=\"https:\u002F\u002Fjwz.org\u002Fb\u002FykPk\" rel=\"nofollow ugc\">WordPress “growth hacking”\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fjwz.org\u002Fb\u002FykNg\" rel=\"nofollow ugc\">WordPress sells users’ data to train AI tools\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>There used to be a potential issue due to \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGravatar#Security_concerns_and_data_breaches\" rel=\"nofollow ugc\">Gravatars using MD5 hashes\u003C\u002Fa>, but these days they use SHA256, so I assume that’s no longer a problem.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Locally mirror commenters' Gravatar or Mastodon profile images.",20,1723,"2025-07-31T00:10:00.000Z","6.8.5","2.7",[20,21],"https:\u002F\u002Fwww.jwz.org\u002Fmirror-gravatar\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmirror-gravatar.1.5.zip",{"attackSurface":131,"codeSignals":161,"taintFlows":198,"riskAssessment":199,"analyzedAt":209},{"hooks":132,"ajaxHandlers":157,"restRoutes":158,"shortcodes":159,"cronEvents":160,"entryPointCount":13,"unprotectedCount":13},[133,139,143,147,152,155],{"type":134,"name":135,"callback":136,"file":137,"line":138},"action","init","init_lang_support","gravatar.php",19,{"type":134,"name":140,"callback":141,"file":137,"line":142},"admin_init","register_avatar_cn_options",29,{"type":134,"name":144,"callback":145,"file":137,"line":146},"admin_menu","avatar_cn",32,{"type":148,"name":149,"callback":150,"file":137,"line":151},"filter","get_avatar","access_avatar",171,{"type":148,"name":149,"callback":153,"file":137,"line":154},"cache_avatar",172,{"type":148,"name":149,"callback":150,"file":137,"line":156},174,[],[],[],[],{"dangerousFunctions":162,"sqlUsage":163,"outputEscaping":165,"fileOperations":64,"externalRequests":13,"nonceChecks":13,"capabilityChecks":31,"bundledLibraries":197},[],{"prepared":13,"raw":13,"locations":164},[],{"escaped":13,"rawEcho":166,"locations":167},15,[168,171,173,175,177,179,181,183,185,187,189,191,192,193,195],{"file":137,"line":169,"context":170},56,"raw output",{"file":137,"line":172,"context":170},59,{"file":137,"line":174,"context":170},62,{"file":137,"line":176,"context":170},63,{"file":137,"line":178,"context":170},68,{"file":137,"line":180,"context":170},69,{"file":137,"line":182,"context":170},73,{"file":137,"line":184,"context":170},74,{"file":137,"line":186,"context":170},75,{"file":137,"line":188,"context":170},80,{"file":137,"line":190,"context":170},81,{"file":137,"line":33,"context":170},{"file":137,"line":25,"context":170},{"file":137,"line":194,"context":170},89,{"file":137,"line":196,"context":170},91,[],[],{"summary":200,"deductions":201},"The \"gravatar-china\" plugin v1.0 exhibits a generally good security posture with no known vulnerabilities or critical code signals detected. The absence of known CVEs and the use of prepared statements for all SQL queries are strong indicators of responsible development.  However, the static analysis reveals a significant concern: 100% of output is not properly escaped. This means that any data displayed to users, if it originates from an untrusted source or is manipulated by an attacker, could lead to cross-site scripting (XSS) vulnerabilities. Additionally, the presence of file operations without more context warrants caution, as these could be exploited if not handled securely.\n\nThe plugin's attack surface appears to be minimal, with no exposed AJAX handlers, REST API routes, shortcodes, or cron events. This limited exposure reduces the potential avenues for attack.  While the plugin only has one capability check, the lack of nonce checks on entry points that might involve user interaction could be a weakness if such points exist but are not captured by the static analysis. The vulnerability history being empty is a positive sign, suggesting a lack of past exploitable flaws. In conclusion, while the plugin has strengths in its limited attack surface and SQL handling, the unescaped output represents a clear and present danger that needs immediate attention.",[202,204,207],{"reason":203,"points":122},"All output is unescaped",{"reason":205,"points":206},"File operations present without context",5,{"reason":208,"points":206},"Missing nonce checks on potential entry points","2026-03-17T00:07:53.141Z",{"wat":211,"direct":216},{"assetPaths":212,"generatorPatterns":213,"scriptPaths":214,"versionParams":215},[],[],[],[],{"cssClasses":217,"htmlComments":218,"htmlAttributes":219,"restEndpoints":220,"jsGlobals":221,"shortcodeOutput":222},[],[],[],[],[],[]]