[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fGBY2xxKY_Cu_evqVfbzcRW53WxQ6PUmhZx9bvdouqZs":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":14,"requires_php":14,"tags":15,"homepage":14,"download_link":16,"security_score":17,"vuln_count":11,"unpatched_count":11,"last_vuln_date":18,"fetched_at":19,"vulnerabilities":20,"developer":21,"crawl_stats":18,"alternatives":29,"analysis":30,"fingerprints":147},"rcp-view-limits","Restrict Content Pro – View Limits","1.1.0","David Jensen","https:\u002F\u002Fprofiles.wordpress.org\u002Fdkjensen\u002F","\u003Cp>Limits the number of posts users can view freely before being prompted to subscribe\u003C\u002Fp>\n","Limits the number of posts users can view freely before being prompted to subscribe",0,1534,"2020-04-15T02:27:00.000Z","",[],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frcp-view-limits.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":22,"display_name":7,"profile_url":8,"plugin_count":23,"total_installs":24,"avg_security_score":25,"avg_patch_time_days":26,"trust_score":27,"computed_at":28},"dkjensen",5,5000,94,30,90,"2026-04-03T23:04:46.619Z",[],{"attackSurface":31,"codeSignals":89,"taintFlows":111,"riskAssessment":141,"analyzedAt":146},{"hooks":32,"ajaxHandlers":85,"restRoutes":86,"shortcodes":87,"cronEvents":88,"entryPointCount":11,"unprotectedCount":11},[33,40,44,48,52,57,61,68,72,78,82],{"type":34,"name":35,"callback":36,"priority":37,"file":38,"line":39},"action","admin_menu","rcp_view_limits_admin_menu",20,"includes\\admin\\rcp-view-limits-admin-screens.php",17,{"type":34,"name":41,"callback":42,"file":38,"line":43},"admin_notices","rcp_view_limits_admin_save_updated",167,{"type":34,"name":45,"callback":46,"file":38,"line":47},"admin_init","rcp_view_limits_admin_save",170,{"type":34,"name":49,"callback":50,"file":38,"line":51},"admin_enqueue_scripts","rcp_view_limits_admin_scripts",192,{"type":34,"name":53,"callback":54,"file":55,"line":56},"rcp_metabox_fields_after","rcp_cl_content_limit_metaboxes","includes\\admin\\rcp-view-limits-metaboxes.php",27,{"type":34,"name":58,"callback":59,"file":55,"line":60},"save_post","rcp_cl_content_limit_metaboxes_save",51,{"type":62,"name":63,"callback":64,"priority":65,"file":66,"line":67},"filter","the_content","rcp_filter_content_restriction",110,"includes\\rcp-view-limits-functions.php",200,{"type":34,"name":69,"callback":70,"file":66,"line":71},"wp","rcp_user_record_view",205,{"type":62,"name":73,"callback":74,"priority":75,"file":76,"line":77},"rcp_get_levels","rcp_filter_get_levels_guest",15,"restrict-content-pro-view-limits.php",66,{"type":62,"name":79,"callback":80,"priority":75,"file":76,"line":81},"rcp_get_level","rcp_filter_get_level_guest",67,{"type":34,"name":45,"callback":83,"file":76,"line":84},"check_installed",70,[],[],[],[],{"dangerousFunctions":90,"sqlUsage":91,"outputEscaping":94,"fileOperations":11,"externalRequests":11,"nonceChecks":108,"capabilityChecks":109,"bundledLibraries":110},[],{"prepared":92,"raw":11,"locations":93},10,[],{"escaped":95,"rawEcho":23,"locations":96},37,[97,100,102,104,106],{"file":38,"line":98,"context":99},50,"raw output",{"file":38,"line":101,"context":99},53,{"file":38,"line":103,"context":99},86,{"file":38,"line":105,"context":99},87,{"file":38,"line":107,"context":99},118,2,4,[],[112,131],{"entryPoint":113,"graph":114,"unsanitizedCount":129,"severity":130},"rcp_view_limits_admin_edit_restrictions (includes\\admin\\rcp-view-limits-admin-screens.php:78)",{"nodes":115,"edges":126},[116,121],{"id":117,"type":118,"label":119,"file":38,"line":120},"n0","source","$_GET",79,{"id":122,"type":123,"label":124,"file":38,"line":103,"wp_function":125},"n1","sink","echo() [XSS]","echo",[127],{"from":117,"to":122,"sanitized":128},false,1,"medium",{"entryPoint":132,"graph":133,"unsanitizedCount":11,"severity":140},"\u003Crcp-view-limits-admin-screens> (includes\\admin\\rcp-view-limits-admin-screens.php:0)",{"nodes":134,"edges":137},[135,136],{"id":117,"type":118,"label":119,"file":38,"line":120},{"id":122,"type":123,"label":124,"file":38,"line":103,"wp_function":125},[138],{"from":117,"to":122,"sanitized":139},true,"low",{"summary":142,"deductions":143},"The 'rcp-view-limits' v1.1.0 plugin demonstrates a strong security posture based on the provided static analysis.  The absence of any AJAX handlers, REST API routes, shortcodes, or cron events significantly limits the potential attack surface.  Furthermore, the plugin consistently employs prepared statements for all SQL queries and shows a high rate of output escaping, indicating good data handling practices. The presence of nonce and capability checks, though few, also suggests an awareness of security fundamentals. The vulnerability history is clean, with no known CVEs, which is a positive indicator of its past security performance.  The taint analysis, while showing one flow with unsanitized paths, did not flag any critical or high severity issues, suggesting this might be a minor or contained concern.  Overall, the plugin appears well-secured with a minimal attack surface and robust coding practices, with the single unsanitized path being the only notable area for potential improvement.",[144],{"reason":145,"points":23},"Flow with unsanitized path detected","2026-03-17T06:42:45.105Z",{"wat":148,"direct":157},{"assetPaths":149,"generatorPatterns":152,"scriptPaths":153,"versionParams":154},[150,151],"\u002Fwp-content\u002Fplugins\u002Frcp-view-limits\u002Fassets\u002Fcss\u002Frcp-view-limits-admin.css","\u002Fwp-content\u002Fplugins\u002Frcp-view-limits\u002Fassets\u002Fjs\u002Frcp-view-limits-admin.js",[],[151],[155,156],"\u002Fwp-content\u002Fplugins\u002Frcp-view-limits\u002Fassets\u002Fcss\u002Frcp-view-limits-admin.css?ver=","\u002Fwp-content\u002Fplugins\u002Frcp-view-limits\u002Fassets\u002Fjs\u002Frcp-view-limits-admin.js?ver=",{"cssClasses":158,"htmlComments":165,"htmlAttributes":166,"restEndpoints":168,"jsGlobals":169,"shortcodeOutput":170},[4,159,160,161,162,163,164],"rcp-cl-name-col","rcp-view-restriction","rcp-cl-enable-col","rcp-cl-post-type-col","rcp-cl-view-limit-col","rcp-cl-interval-col",[],[167],"data-colname=\"ID:\"",[],[],[]]