[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fLBU7uR0qopkblL3D45bWeJ89LoDQH3kYOhDr8DjFs00":3,"$fA7vUmnxJA3dSZexaAT8g_kvylBpc79Z_dSLtvAsKKrU":291,"$fKN8AccnVOJKoWVu-cOjszbXO9dRHBgav5MtSITIgS1Y":295},{"slug":4,"name":4,"version":5,"author":6,"author_profile":7,"description":8,"short_description":9,"active_installs":10,"downloaded":11,"rating":10,"num_ratings":10,"last_updated":12,"tested_up_to":13,"requires_at_least":14,"requires_php":15,"tags":16,"homepage":15,"download_link":20,"security_score":21,"vuln_count":10,"unpatched_count":10,"last_vuln_date":22,"fetched_at":23,"discovery_status":24,"vulnerabilities":25,"developer":26,"crawl_stats":22,"alternatives":33,"analysis":93,"fingerprints":263},"rng-isuc","1.0","Abolfazl Sabagh","https:\u002F\u002Fprofiles.wordpress.org\u002Fasabagh\u002F","\u003Cp>WordPress Plugin that shows the last post viewed by a user in several template views:\u003Cbr \u002F>\n1. WordPress widget\u003Cbr \u002F>\n2. Shortcode \u003Ccode>[isuc_posts_viewed]\u003C\u002Fcode>\u003Cbr \u002F>\n3. Simple navigation\u003C\u002Fp>\n\u003Cp>Template Overriding\u003C\u002Fp>\n\u003Cp>If you are a theme developer or using a theme with custom templates you can override plugin template by the following structure:\u003Cbr \u002F>\nCopy the plugin templates into a directory within your theme named \u003Ccode>\u002Frng-isuc\u003C\u002Fcode> and modify templates.\u003C\u002Fp>\n\u003Cp>Main features in rng-isuc include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Very light and easy to use\u003C\u002Fli>\n\u003Cli>Showing last posts viewed by the visitor\u003C\u002Fli>\n\u003Cli>WordPress Widget with tow style\u003C\u002Fli>\n\u003Cli>Has shortcode to showing the last posts viewed \u003Ccode>[isuc_posts_viewed]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Has beautiful navigation that shows last posts viewed\u003C\u002Fli>\n\u003Cli>This plugin avoids from any conflict with other plugins\u003C\u002Fli>\n\u003Cli>Has not any overhead\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>it is strongly was recommended that after the plugin is activated, go to the \u003Ccode>Settings > Last post viewed\u003C\u002Fcode> and configure the plugin.\u003C\u002Fp>\n","WordPress Plugin that shows the last post viewed by a user in several template views like widget, shortcode and sidebar navigation isuc is standing fo &hellip;",0,947,"2019-05-08T11:09:00.000Z","5.1.22","4.0","",[17,18,19],"post-viewed","recent-post-viewed","rng","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frng-isuc.zip",85,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":27,"display_name":6,"profile_url":7,"plugin_count":28,"total_installs":29,"avg_security_score":21,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},"asabagh",4,40,30,84,"2026-05-20T23:05:08.468Z",[34,45,67,79],{"slug":35,"name":35,"version":5,"author":6,"author_profile":7,"description":36,"short_description":37,"active_installs":10,"downloaded":38,"rating":10,"num_ratings":10,"last_updated":39,"tested_up_to":13,"requires_at_least":14,"requires_php":15,"tags":40,"homepage":15,"download_link":43,"security_score":21,"vuln_count":10,"unpatched_count":10,"last_vuln_date":22,"fetched_at":44},"rng-postviews","\u003Cp>WordPress plugin that set post view count for each post and reports them in a chart.also you can access to post views count of each post in front end and admin panel.\u003C\u002Fp>\n\u003Ch4>You can see post view count with below ways:\u003C\u002Fh4>\n\u003Col>\n\u003Cli>WordPress widget\u003C\u002Fli>\n\u003Cli>Short code \u003Ccode>[rngja_postviews]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Developers can access post views in wp_postmeta with meta_key \u003Ccode>ja_postviews\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Function \u003Ccode>rngja_get_post_viewe_count\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>For showing post views count with function put this code in your main loop\u003Cbr \u002F>\n    \u003Ccode>if (function_exists('rngja_get_post_viewe_count')) {\u003Cbr \u002F>\n    echo rngja_get_post_viewe_count(get_the_ID());\u003Cbr \u002F>\n}\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>And also in admin panel:\u003C\u002Fh4>\n\u003Col>\n\u003Cli>WordPress Dashboard widget\u003C\u002Fli>\n\u003Cli>Post list screen\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Main features in rng-postviews include\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Very light and easy to use\u003C\u002Fli>\n\u003Cli>Have function and short code for showing post views count\u003C\u002Fli>\n\u003Cli>WordPress Widget\u003C\u002Fli>\n\u003Cli>This plugin avoids from any conflict with other plugins\u003C\u002Fli>\n\u003Cli>Has not any overhead\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>it is strongly was recommended that after the plugin is activated, go to the \u003Ccode>Settings > Last post viewed\u003C\u002Fcode> and configure the plugin.\u003C\u002Fp>\n\u003Ch4>Github Repository\u003C\u002Fh4>\n\u003Cp>Also You can this plugin on github:\u003Cbr \u002F>\nhttps:\u002F\u002Fgithub.com\u002Fa-sabagh\u002Frng-postviews\u003C\u002Fp>\n","WordPress plugin that set post view count for each post and reports them in a chart.",1111,"2019-05-08T11:07:00.000Z",[17,41,19,42],"postviews","view-post","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frng-postviews.zip","2026-04-06T09:54:40.288Z",{"slug":46,"name":47,"version":48,"author":49,"author_profile":50,"description":51,"short_description":52,"active_installs":53,"downloaded":54,"rating":55,"num_ratings":56,"last_updated":57,"tested_up_to":58,"requires_at_least":59,"requires_php":15,"tags":60,"homepage":64,"download_link":65,"security_score":66,"vuln_count":10,"unpatched_count":10,"last_vuln_date":22,"fetched_at":23},"a-random-number","A Random Number","1.2","James Harrison","https:\u002F\u002Fprofiles.wordpress.org\u002Frandomnumberwp\u002F","\u003Cp>The shortcode [arandomnumber] can be added to any post, page, or widget as many times as needed to display a random number. The number has a default range of 1 – 100, but can be changed using the min and max attributes, like so:\u003C\u002Fp>\n\u003Cp>[arandomnumber min=1 max=10000]: This will output a random number between 1 and 10,000. (Like this: 8,014)\u003Cbr \u002F>\n[arandomnumber min=-500 max=-1]: This will output a random number between -500 and -1. (Like this: -232)\u003Cbr \u002F>\n[arandomnumber min=50000000 max=60000000]: This will output a random number between 50,000,000 and 60,000,000.  (Like this: 56,449,060)\u003C\u002Fp>\n\u003Cp>etc.\u003C\u002Fp>\n\u003Cp>If you wish to disable commas, use the comma=no attribute, like so: [arandomnumber min=100000 max=999999 comma=no]. This will output a random number within the range without the commas, like this: 456245.\u003C\u002Fp>\n","A WordPress plugin that displays a random number on each page load via shortcode. It truly is magic.",800,14260,74,6,"2024-07-31T13:24:00.000Z","6.5.8","3.0.1",[61,62,63,19],"random","random-number","random-number-generator","https:\u002F\u002Fwww.calculator.io\u002Frandom-number-generator\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fa-random-number.1.2.zip",92,{"slug":68,"name":68,"version":5,"author":6,"author_profile":7,"description":69,"short_description":70,"active_installs":30,"downloaded":71,"rating":72,"num_ratings":73,"last_updated":74,"tested_up_to":13,"requires_at_least":14,"requires_php":15,"tags":75,"homepage":15,"download_link":78,"security_score":21,"vuln_count":10,"unpatched_count":10,"last_vuln_date":22,"fetched_at":23},"rng-ajaxlike","\u003Cp>this plugin allows the visitor to like posts content in a single page using Ajax technology.\u003Cbr \u002F>\nEach user can like each post once. Like button process performs with Ajax, that means when the user clicks on the like button the page never refreshes.\u003C\u002Fp>\n\u003Cp>Main features in rng-ajaxlike include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Very light and simple to work\u003C\u002Fli>\n\u003Cli>Show like button for each post type you want\u003C\u002Fli>\n\u003Cli>You can customize button color\u003C\u002Fli>\n\u003Cli>Show like count in list posts page in admin panel\u003C\u002Fli>\n\u003Cli>Show like button for each post type you want\u003C\u002Fli>\n\u003Cli>this plugin is avoided from any conflict with other plugins\u003C\u002Fli>\n\u003Cli>it is so lightweight and easy to use\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>it is strongly was recommended that after the plugin is activated, go to the setting page and configure plugin options.\u003C\u002Fp>\n\u003Ch4>Github Repository\u003C\u002Fh4>\n\u003Cp>Also You can find plugin repository on github:\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fa-sabagh\u002Frng-ajaxlike\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fa-sabagh\u002Frng-ajaxlike\u003C\u002Fa>\u003C\u002Fp>\n","rng-ajaxlike allow the visitor to like posts content on a single page using Ajax technology.",1460,100,1,"2019-05-08T10:57:00.000Z",[76,77,68],"ajaxlike","like-button","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frng-ajaxlike.zip",{"slug":80,"name":81,"version":5,"author":6,"author_profile":7,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":72,"num_ratings":73,"last_updated":86,"tested_up_to":13,"requires_at_least":14,"requires_php":15,"tags":87,"homepage":15,"download_link":92,"security_score":21,"vuln_count":10,"unpatched_count":10,"last_vuln_date":22,"fetched_at":23},"rng-shortlink","rng-shrotlink","\u003Cp>rng-shortlink create a short link for public post types in both admin panel (with meta box) and front end (with shortcode) by using query variables.\u003Cbr \u002F>\nyou can define which post type can have a short link to do so you must go \u003Ccode>settings > Shortlink Settings\u003C\u002Fcode> and specify what post types follow up.\u003Cbr \u002F>\nyou can view click count of each post in admin panel to do so go to \u003Ccode>tools > Click View Report\u003C\u002Fcode> from the menu to find the list of posts that clicked.\u003C\u002Fp>\n\u003Cp>Main features in rng-ajaxlike include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Very light and easy to use\u003C\u002Fli>\n\u003Cli>Track and show short link for each post type you want\u003C\u002Fli>\n\u003Cli>Show report of click count for each post in form of the table list\u003C\u002Fli>\n\u003Cli>Has shortcode to showing the short link\u003C\u002Fli>\n\u003Cli>This plugin avoids from any conflict with other plugins\u003C\u002Fli>\n\u003Cli>has not any overhead\u003C\u002Fli>\n\u003Cli>Show short link using shortcode in frontend \u003Ccode>[rngshl_shortlink]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>it is strongly was recommended that after the plugin is activated, go to the permalink settings and change URL structure and undo.\u003C\u002Fp>\n","rng-shortlink creates a short link for posts and any post types you want and shows reports from clicking count in the admin panel.",10,1223,"2019-05-08T11:33:00.000Z",[19,88,89,90,91],"short-link","small-link","url","url-shortener","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frng-shortlink.zip",{"attackSurface":94,"codeSignals":142,"taintFlows":223,"riskAssessment":251,"analyzedAt":262},{"hooks":95,"ajaxHandlers":134,"restRoutes":135,"shortcodes":136,"cronEvents":141,"entryPointCount":73,"unprotectedCount":10},[96,102,106,110,114,118,121,125,129],{"type":97,"name":98,"callback":99,"file":100,"line":101},"action","template_redirect","set_post_view","includes\u002Fclass.controller.isuc.php",22,{"type":97,"name":103,"callback":104,"file":100,"line":105},"wp_footer","show_sidenav_postviewed",24,{"type":97,"name":107,"callback":107,"file":108,"line":109},"admin_menu","includes\u002Fclass.controller.settings.php",16,{"type":97,"name":111,"callback":112,"file":108,"line":113},"admin_init","general_settings_init",17,{"type":97,"name":115,"callback":116,"file":108,"line":117},"admin_notices","configure_notices",18,{"type":97,"name":111,"callback":119,"file":108,"line":120},"dismiss_configuration",19,{"type":97,"name":122,"callback":123,"file":124,"line":105},"plugins_loaded","add_text_domain","includes\u002Fclass.init.php",{"type":97,"name":126,"callback":127,"file":124,"line":128},"wp_enqueue_scripts","public_enqueue_scripts",25,{"type":97,"name":130,"callback":131,"file":132,"line":133},"widgets_init","register_rnguc_posts_viewed_widget","includes\u002Fwidgets\u002Flast-post-viewed.php",154,[],[],[137],{"tag":138,"callback":139,"file":100,"line":140},"isuc_posts_viewed","shortcode_posts_viewed",21,[],{"dangerousFunctions":143,"sqlUsage":148,"outputEscaping":150,"fileOperations":10,"externalRequests":10,"nonceChecks":73,"capabilityChecks":221,"bundledLibraries":222},[144],{"fn":145,"file":100,"line":146,"context":147},"unserialize",102,"$post_viewed_array = (array) unserialize($posts_viewed);",{"prepared":10,"raw":10,"locations":149},[],{"escaped":151,"rawEcho":152,"locations":153},33,44,[154,157,158,160,161,163,164,165,166,167,169,170,172,173,174,176,177,179,181,183,184,185,186,187,189,190,192,193,194,196,197,198,199,201,202,204,206,208,210,212,215,216,217,219],{"file":155,"line":109,"context":156},"admin\u002Fsettings-panel.php","raw output",{"file":100,"line":133,"context":156},{"file":108,"line":159,"context":156},90,{"file":108,"line":159,"context":156},{"file":108,"line":162,"context":156},121,{"file":108,"line":162,"context":156},{"file":108,"line":162,"context":156},{"file":108,"line":162,"context":156},{"file":108,"line":162,"context":156},{"file":108,"line":168,"context":156},136,{"file":108,"line":168,"context":156},{"file":108,"line":171,"context":156},151,{"file":108,"line":171,"context":156},{"file":108,"line":171,"context":156},{"file":108,"line":175,"context":156},162,{"file":132,"line":29,"context":156},{"file":132,"line":178,"context":156},62,{"file":132,"line":180,"context":156},63,{"file":132,"line":182,"context":156},80,{"file":132,"line":146,"context":156},{"file":132,"line":146,"context":156},{"file":132,"line":146,"context":156},{"file":132,"line":146,"context":156},{"file":132,"line":188,"context":156},106,{"file":132,"line":188,"context":156},{"file":132,"line":191,"context":156},111,{"file":132,"line":191,"context":156},{"file":132,"line":191,"context":156},{"file":132,"line":195,"context":156},119,{"file":132,"line":195,"context":156},{"file":132,"line":195,"context":156},{"file":132,"line":195,"context":156},{"file":132,"line":200,"context":156},123,{"file":132,"line":200,"context":156},{"file":203,"line":113,"context":156},"templates\u002Fproduct-viewed.php",{"file":203,"line":205,"context":156},20,{"file":203,"line":207,"context":156},23,{"file":203,"line":209,"context":156},29,{"file":203,"line":211,"context":156},32,{"file":213,"line":214,"context":156},"templates\u002Fsidenav-postviewed.php",35,{"file":213,"line":214,"context":156},{"file":213,"line":214,"context":156},{"file":213,"line":218,"context":156},41,{"file":213,"line":220,"context":156},47,2,[],[224,241],{"entryPoint":225,"graph":226,"unsanitizedCount":10,"severity":240},"\u003Cclass.controller.isuc> (includes\u002Fclass.controller.isuc.php:0)",{"nodes":227,"edges":237},[228,233],{"id":229,"type":230,"label":231,"file":100,"line":232},"n0","source","$_COOKIE",98,{"id":234,"type":235,"label":236,"file":100,"line":146,"wp_function":145},"n1","sink","unserialize() [Object Injection]",[238],{"from":229,"to":234,"sanitized":239},true,"low",{"entryPoint":242,"graph":243,"unsanitizedCount":73,"severity":250},"get_postviewed_cookie (includes\u002Fclass.controller.isuc.php:97)",{"nodes":244,"edges":247},[245,246],{"id":229,"type":230,"label":231,"file":100,"line":232},{"id":234,"type":235,"label":236,"file":100,"line":146,"wp_function":145},[248],{"from":229,"to":234,"sanitized":249},false,"high",{"summary":252,"deductions":253},"The \"rng-isuc\" v1.0 plugin demonstrates a mixed security posture. On the positive side, it shows good practices by exclusively using prepared statements for SQL queries and implementing nonce and capability checks on its entry points. The lack of known CVEs and a history of vulnerabilities suggests a generally stable and likely well-maintained codebase, at least in terms of publicly disclosed issues. However, there are significant areas of concern.\n\nThe static analysis reveals a critical risk associated with the use of the `unserialize()` function, which is a known vector for remote code execution vulnerabilities if not handled with extreme care. Compounding this, the taint analysis indicates one flow with an unsanitized path, specifically identified as having high severity. This, combined with a concerningly low rate of proper output escaping (43%), means that data processed by the plugin could potentially be manipulated and lead to cross-site scripting (XSS) or other injection attacks.\n\nWhile the plugin has a small attack surface and no directly unprotected entry points, the presence of `unserialize()` and the high-severity unsanitized taint flow are significant weaknesses that require immediate attention. The absence of historical vulnerabilities is a positive indicator, but it does not negate the risks identified in the current code analysis. Developers should prioritize addressing the identified taint flow and securely handling any data passed to `unserialize()`.",[254,257,259],{"reason":255,"points":256},"Dangerous function unserialize() used",15,{"reason":258,"points":84},"Taint analysis: 1 high severity unsanitized path",{"reason":260,"points":261},"Output escaping: only 43% properly escaped",8,"2026-04-16T14:30:09.658Z",{"wat":264,"direct":275},{"assetPaths":265,"generatorPatterns":269,"scriptPaths":270,"versionParams":271},[266,267,268],"\u002Fwp-content\u002Fplugins\u002Frng-isuc\u002Fpublic\u002Fjs\u002Fuc-last-post-viewed.js","\u002Fwp-content\u002Fplugins\u002Frng-isuc\u002Fpublic\u002Fjs\u002Fuc-last-post-viewed-sidenav.js","\u002Fwp-content\u002Fplugins\u002Frng-isuc\u002Fpublic\u002Fcss\u002Fuc-last-post-viewed.css",[],[266,267],[272,273,274],"rng-isuc\u002Fpublic\u002Fjs\u002Fuc-last-post-viewed.js?ver=","rng-isuc\u002Fpublic\u002Fjs\u002Fuc-last-post-viewed-sidenav.js?ver=","rng-isuc\u002Fpublic\u002Fcss\u002Fuc-last-post-viewed.css?ver=",{"cssClasses":276,"htmlComments":280,"htmlAttributes":283,"restEndpoints":286,"jsGlobals":287,"shortcodeOutput":289},[277,278,279],"uc-posts-viewed-widget","uc-posts-viewed-shortcode","uc-posts-viewed-sidenav",[281,282],"\u003C!-- rng-isuc plugin templates start -->","\u003C!-- rng-isuc plugin templates end -->",[284,285],"data-rnguc-setting","data-rnguc-post-id",[],[288],"window.uc_ajax_object",[290],"[isuc_posts_viewed]",{"error":239,"url":292,"statusCode":293,"statusMessage":294,"message":294},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Frng-isuc\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":5,"total_versions":10,"versions":296},[]]