[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fyq541zHr9Hd3QlG02inUpYZBzBxVNcGGF3bFCZci3TA":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":18,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":142,"fingerprints":210},"restrict-page-by-role","Restrict Page By Role","1.0.0","Leo Baiano","https:\u002F\u002Fprofiles.wordpress.org\u002Fleobaiano\u002F","\u003Cp>This WordPress plugin allows you to restrict access to the content of a page or post to which only certain group of users can access.\u003C\u002Fp>\n\u003Cp>Este plugin WordPress permite restringir o acesso ao conteúdo de uma página ou post para que apenas determinado grupo de usuários possa acessar.\u003C\u002Fp>\n\u003Ch4>Contribute\u003C\u002Fh4>\n\u003Cp>You can contribute to the source code in our [https:\u002F\u002Fgithub.com\u002Fleobaiano\u002FRestrict-Page-By-Role) page.\u003C\u002Fp>\n","This WordPress plugin allows you to restrict access to the content of a page or post to which only certain group of users can access.",20,3191,70,2,"2016-07-29T11:19:00.000Z","4.5.33","3.9","",[20,21,22,23],"block-page-by-user-group","private-page","restricted-access","restricted-page","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frestrict-page-by-role.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":25,"computed_at":36},"leobaiano",7,840,87,30,"2026-04-05T19:17:53.062Z",[38,62,85,104,123],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":18,"tags":53,"homepage":58,"download_link":59,"security_score":60,"vuln_count":14,"unpatched_count":26,"last_vuln_date":61,"fetched_at":28},"client-portal","Client Portal – Private user pages and login","1.2.2","madalin.ungureanu","https:\u002F\u002Fprofiles.wordpress.org\u002Fmadalinungureanu\u002F","\u003Cp>The \u003Ca href=\"https:\u002F\u002Fwww.cozmoslabs.com\u002Fadd-ons\u002Fclient-portal\u002F\" rel=\"nofollow ugc\">WordPress Client Portal plugin\u003C\u002Fa> creates private pages for each user. The content for that page is accessible  on the frontend only by the owner of the page\u003Cbr \u002F>\nafter he has logged in.\u003C\u002Fp>\n\u003Cp>The plugin doesn’t offer a login or registration form and it gives you the possibility to use a plugin of your choice.\u003C\u002Fp>\n\u003Cp>The \u003Cstrong>[client-portal]\u003C\u002Fstrong> shortcode can be added to any page and when the logged in user will access that page he will be redirected to its private page.\u003C\u002Fp>\n\u003Cp>For login and registration of users we recommend the free \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fprofile-builder\u002F\" rel=\"ugc\">Profile Builder\u003C\u002Fa> plugin.\u003C\u002Fp>\n\u003Cp>You can then use the [wppb-login] shortcode in the same page as the [client-portal] shortcode.\u003C\u002Fp>\n","WordPress Client Portal Plugin that creates private pages for all users that only an administrator can edit.",3000,144717,86,23,"2026-01-22T09:22:00.000Z","6.9.4","3.1",[39,54,55,56,57],"private-client-page","private-content","private-pages","private-user-page","http:\u002F\u002Fwww.cozmoslabs.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fclient-portal.1.2.2.zip",99,"2023-02-22 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":48,"num_ratings":72,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":18,"tags":76,"homepage":81,"download_link":82,"security_score":83,"vuln_count":14,"unpatched_count":26,"last_vuln_date":84,"fetched_at":28},"anonymous-restricted-content","Anonymous Restricted Content","1.6.6","taras.sych","https:\u002F\u002Fprofiles.wordpress.org\u002Fcayenne\u002F","\u003Cp>This plugin is as simple as you expected!\u003Cbr \u002F>\nAnd it support latest WordPress Gutenberg editor now!\u003C\u002Fp>\n\u003Cp>Mark the content you want to hide as restricted with just a checkbox – and it’s done!\u003C\u002Fp>\n\u003Cp>In case anonymous user will try to get access to restricted page or post – it will be redirected to WordPress Login page first.\u003Cbr \u002F>\nOr you can specify the exact URL (internal or external) to redirect anonymous users to.\u003C\u002Fp>\n\u003Cp>After successful authorization, user is redirected back to the requested page.\u003C\u002Fp>\n\u003Cp>Also, it hides restricted posts from Archive and Categories pages, RSS feed and from Latest Comments\u002FPosts widgets!\u003C\u002Fp>\n","Simple but yet effective plugin to hide selected posts and pages from anonymous users.",1000,26605,9,"2024-11-18T12:11:00.000Z","6.7.5","5.3",[77,78,79,80,22],"access-control","content-control","hide-content","restrict-anonymous","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fanonymous-restricted-content\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fanonymous-restricted-content.1.6.6.zip",91,"2024-11-20 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":95,"num_ratings":14,"last_updated":96,"tested_up_to":97,"requires_at_least":18,"requires_php":18,"tags":98,"homepage":18,"download_link":103,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"underconstruction-for-page","Under Construction Per Page","1.0.2","hyvikk","https:\u002F\u002Fprofiles.wordpress.org\u002Fhyvikk\u002F","\u003Cp>This plugin helps you setup under construction content for each page so that your user can keep on visiting the rest of the site  and shows under construction content on that page instead of original content until u make it live again.\u003C\u002Fp>\n\u003Cp>This plugin is useful for busy blogs and big sites. this way you can let your visitors know that new post\u002Fpage is being made and it’s coming soon while they enjoy the rest of the content on the site.\u003C\u002Fp>\n\u003Cp>only Admin can see the content on the site.\u003C\u002Fp>\n","This plugin helps you setup under construction content for each page so that your user can't see original content until you finish working on it.",100,6937,90,"2022-02-09T12:57:00.000Z","5.9.0",[99,100,21,101,102],"coming-soon","maintenance-mode","security","underconstuction","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Funderconstruction-for-page.zip",{"slug":105,"name":106,"version":6,"author":107,"author_profile":108,"description":109,"short_description":110,"active_installs":11,"downloaded":111,"rating":93,"num_ratings":112,"last_updated":113,"tested_up_to":114,"requires_at_least":115,"requires_php":18,"tags":116,"homepage":121,"download_link":122,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"role-content-restriction","Role Content Restriction","Imprevo","https:\u002F\u002Fprofiles.wordpress.org\u002Fimprevo\u002F","\u003Cp>This plugin restricts access to default and custom post types based on user roles. The plugin displays a custom message to those who do not have access to view the content.\u003C\u002Fp>\n\u003Cp>For reporting bugs, getting support or feature suggestion, please click the link below:\u003Cbr \u002F>\nhttp:\u002F\u002Fwww.imprevo.net\u002F\u003C\u002Fp>\n","Restricts access to selected post types based on user roles.",2136,1,"2016-08-18T14:39:00.000Z","4.6.30","4.0",[117,118,119,120,22],"access","content-restriction","member-only","restrict","http:\u002F\u002Fimprevo.net\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frole-content-restriction.1.0.0.zip",{"slug":124,"name":125,"version":126,"author":127,"author_profile":128,"description":129,"short_description":130,"active_installs":131,"downloaded":132,"rating":26,"num_ratings":26,"last_updated":133,"tested_up_to":51,"requires_at_least":134,"requires_php":135,"tags":136,"homepage":140,"download_link":141,"security_score":93,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"constellation-client-portal","Constellation Client Portal","2.7.0","ARS","https:\u002F\u002Fprofiles.wordpress.org\u002Farstudios\u002F","\u003Cp>A professional client portal for WordPress that helps you organize clients, customers, groups, and teams. Create unlimited client pages and securely share private pages, posts, and files.\u003C\u002Fp>\n\u003Cp>Upgrade to the \u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002F?utm_source=wporg\" title=\"Get Constellation Client Portal Pro\" rel=\"nofollow ugc\">Pro version\u003C\u002Fa> and integrate with WooCommerce to accept payments for invoices and services.\u003C\u002Fp>\n\u003Cp>Whether you are a veteran of high-level business or just starting out, Constellation Client Portal gives you the tools that you need to manage your operations efficiently and professionally, so that you can do business with confidence.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Create unlimited private pages for your clients, customers, and team members.\u003C\u002Fli>\n\u003Cli>Create private invoice and file posts for your clients and display them on private client pages, with simple to use shortcodes.\u003C\u002Fli>\n\u003Cli>Attach private files (example: pdf, jpg, docx, xlsx, etc) to invoice and file posts.\u003C\u002Fli>\n\u003Cli>Prevent direct access to client files by users, search engines, and bots.\u003C\u002Fli>\n\u003Cli>Assign WordPress users to Companies.\u003C\u002Fli>\n\u003Cli>Assign users (example: consultants) to multiple companies to allow them to access files that are assigned to different companies.\u003C\u002Fli>\n\u003Cli>Easily add curated lists of invoices and documents to client pages via simple to use shortcodes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Pro\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Automatically redirect clients to their private client page at login (optional login redirect setting).\u003C\u002Fli>\n\u003Cli>Integrate your invoices with WooCommerce and add a pay button to your unpaid invoices, and accept payments from your customers and clients (requires WooCommerce).\u003C\u002Fli>\n\u003Cli>Change the Client Page, Client File, and Client Invoice URL base names (“accp-client-page,” “accp-clientfile,” and “accp-clientinvoice) to names of your choosing.\u003C\u002Fli>\n\u003Cli>Automatically send email notifications to clients when a new File or Invoice post is created.\u003C\u002Fli>\n\u003Cli>Automatically send reminder email notifications on a schedule.\u003C\u002Fli>\n\u003Cli>Easily customize the look of client-facing lists and pages.\u003C\u002Fli>\n\u003Cli>Display client-facing lists in list or grid layout.\u003C\u002Fli>\n\u003Cli>Easily generate, save, and edit file and invoice shortcodes within the plugin settings.\u003C\u002Fli>\n\u003Cli>Add due dates and past due notices to invoices and files.\u003C\u002Fli>\n\u003Cli>Further restrict file and invoice access within a company by user and role.\u003C\u002Fli>\n\u003Cli>Restrict file and invoice category access by user and role.\u003C\u002Fli>\n\u003Cli>Add internal notes to File and Invoice posts.\u003C\u002Fli>\n\u003Cli>Export file and invoice lists to CSV.\u003C\u002Fli>\n\u003Cli>Create \u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002F2023\u002F05\u002F16\u002Fhow-to-utilize-global-pages\u002F\" title=\"Client Portal Global Pages\" rel=\"nofollow ugc\">global client pages\u003C\u002Fa> that can be accessed by multiple companies.\u003C\u002Fli>\n\u003Cli>Create global client files that can be accessed by more than one company.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Use Cases\u003C\u002Fh3>\n\u003Cp>Constellation Client Portal is your portal for everything, and helps you interface with clients, customers, teams, and groups.  It’s professional, extendable, versatile, and is designed to sit at the heart of your organization to save time and lower costs.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example Use Case Areas\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Businesses and Professionals – Interface with clients, customers, employees, contractors, and vendors.\u003C\u002Fli>\n\u003Cli>Freelancers – Interface with clients, customers, contractors, and vendors.\u003C\u002Fli>\n\u003Cli>Project Managers \u002F Teams – Interface with stake holders, contractors, project members, and vendors.\u003C\u002Fli>\n\u003Cli>Teams – Interface with team members, staff, affiliates, vendors, and contractors.\u003C\u002Fli>\n\u003Cli>Groups and Organizations – Interface with group members, and other affiliates.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcodes (Core)\u003C\u002Fh3>\n\u003Cp>The shortcode parameters, below, are for use with the core version of the plugin.  The pro version allows for file and invoice shortcodes to be easily generated, saved, and edited within the plugin settings.\u003C\u002Fp>\n\u003Ch4>Unpaid Invoice List\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_clientinvoices invoice_status=\"unpaid\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Paid Invoice List\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_clientinvoices invoice_status=\"paid\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Invoice Shortcode Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>invoice_status\u003C\u002Fstrong> this is the payment status of the invoice. Accepted Values: “paid” or “unpaid”. Default: “unpaid”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>display_number\u003C\u002Fstrong> this is the number of posts per page. Accepted Values: any positive whole number. Default: -1 (which displays all posts returned in a query).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order_by\u003C\u002Fstrong> this allows for lists to be sorted by post title instead of date. Accepted Values: “title” or “date”. Default: “date”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong> this allows the sort order to be changed. Accepted Values: “ASC” or “DESC”. Default: “DESC”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_excerpt\u003C\u002Fstrong> this allows for a post excerpt to be displayed with each list item. Accepted Values: “true” or “false”. Default: “false”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>excerpt_length\u003C\u002Fstrong> this allows you to constrain the number of words, “show_excerpt” is set to “true”. Accepted Values: any positive whole number. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_thumbnail\u003C\u002Fstrong> this allows the featured image to be displayed with each list item (if a featured image is set). Accepted Values: “true” or “false”. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>thumbnail_size\u003C\u002Fstrong> this allows you to choose an image size if the “show_thumbnail” attribute is set to “true”. Accepted Values: any valid thumbnail slug that is available in your theme (ex. “full”). Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>align_thumbnail\u003C\u002Fstrong> this allows the thumbnail image alignment to be set if the “show_thumbnail” attribute is set to “true”. Accepted Values: “center”, “left”, “right”, “float-left”, or “float-right”. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_post_date\u003C\u002Fstrong> this allows for the WordPress post date to be displayed with each item in a list. Accepted Values: “true” or “false”. Default: “false”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>categories\u003C\u002Fstrong> Accepted Values: this can be entered as an Invoice Category Slug or ID, or a combination of those. Separate multiple values with a comma (ex. “21, category-a”). Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_title\u003C\u002Fstrong> Accepted Values: “nolink”.  Adding this parameter and setting the value to “nolink” will remove the href from post titles in the list and make them unclickable. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>class\u003C\u002Fstrong> Accepted Values: any valid HTML class attribute name or names (separate multiple class names with a space). Default: null.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Document\u002FFile List\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_clientfiles]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>File Shortcode Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>categories\u003C\u002Fstrong> Accepted Values: this can be entered as a File Category Slug or ID, or a combination of those. Separate multiple values with a comma (ex. “21, category-a”). Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>display_number\u003C\u002Fstrong> this is the number of posts per page. Accepted Values: any positive whole number. Default: -1 (which displays all posts returned in a query).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order_by\u003C\u002Fstrong> this allows for lists to be sorted by post title instead of date. Accepted Values: “title” or “date”. Default: “date”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong> this allows the sort order to be changed. Accepted Values: “ASC” or “DESC”. Default: “DESC”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_excerpt\u003C\u002Fstrong> this allows for a post excerpt to be displayed with each list item. Accepted Values: “true” or “false”. Default: “false”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>excerpt_length\u003C\u002Fstrong> this allows you to constrain the number of words, “show_excerpt” is set to “true”. Accepted Values: any positive whole number. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_thumbnail\u003C\u002Fstrong> this allows the featured image to be displayed with each list item (if a featured image is set). Accepted Values: “true” or “false”. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>thumbnail_size\u003C\u002Fstrong> this allows you to choose an image size if the “show_thumbnail” attribute is set to “true”. Accepted Values: any valid thumbnail slug that is available in your theme (ex. “full”). Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>align_thumbnail\u003C\u002Fstrong> this allows the thumbnail image alignment to be set if the “show_thumbnail” attribute is set to “true”. Accepted Values: “center”, “left”, “right”, “float-left”, or “float-right”. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_post_date\u003C\u002Fstrong> this allows for the WordPress post date to be displayed with each item in a list. Accepted Values: “true” or “false”. Default: “false”.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_title\u003C\u002Fstrong> Accepted Values: “nolink”.  Adding this parameter and setting the value to “nolink” will remove the href from post titles in the list and make them unclickable. Default: null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>class\u003C\u002Fstrong> Accepted Values: any valid HTML class attribute name or names (separate multiple class names with a space). Default: null.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Global Files (Pro)\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_global_files]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Company Menu (Pro)\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[accp_company_menu]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Company Menu Shortcode Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>excluded_page_ids\u003C\u002Fstrong> – this allows for pages that are assigned to a given company to be excluded from the company menu.  Accepts a comma separated list of Client Page ID’s. Default = null.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>list_style\u003C\u002Fstrong> – this allows the UL orientation to be changed.  Accepts ‘vertical’ or ‘horizontal.’ Default = horizontal.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>align\u003C\u002Fstrong> – this allows for the menu alignment to be set.  Accepts ‘left,’ ‘right,’ or ‘center.’ Default = left.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Documentation\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002Fdocumentation-constellation-client-portal\u002F#quick-start\" rel=\"nofollow ugc\">Quick Start Guide\u003C\u002Fa> – Follow the quick start guide to quickly set up the initial foundation for your client portal.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002Fdocumentation-constellation-client-portal\u002F\" rel=\"nofollow ugc\">Plugin Documentation\u003C\u002Fa> – View the plugin documentation for other helpful information.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Pro users, with active licenses, should open a support ticket by accessing their account on \u003Ca href=\"https:\u002F\u002Fconstellationclientportal.com\u002Fmy-account\u002F\" rel=\"nofollow ugc\">constellationclientportal.com\u003C\u002Fa> for help and support.\u003C\u002Fp>\n","A professional client portal for WordPress that helps you organize clients, customers, groups, and teams. Create unlimited client pages and securely s &hellip;",10,7956,"2026-03-02T13:32:00.000Z","6.0.0","7.4",[39,137,138,56,139],"customer-portal","private-files","private-posts","https:\u002F\u002Fadrianrodriguezstudios.com\u002Fconstellation-client-portal\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconstellation-client-portal.2.7.0.zip",{"attackSurface":143,"codeSignals":182,"taintFlows":203,"riskAssessment":204,"analyzedAt":209},{"hooks":144,"ajaxHandlers":178,"restRoutes":179,"shortcodes":180,"cronEvents":181,"entryPointCount":26,"unprotectedCount":26},[145,151,155,159,162,166,171,175],{"type":146,"name":147,"callback":148,"file":149,"line":150},"action","plugins_loaded","load_plugin_textdomain","restrict-page-by-role.php",48,{"type":146,"name":152,"callback":153,"file":149,"line":154},"admin_enqueue_scripts","load_admin_styles_and_scripts",51,{"type":146,"name":156,"callback":157,"file":149,"line":158},"init","load_helper",54,{"type":146,"name":160,"callback":160,"file":149,"line":161},"post_submitbox_misc_actions",58,{"type":146,"name":163,"callback":164,"file":149,"line":165},"save_post","register_restrict_role",62,{"type":167,"name":168,"callback":169,"file":149,"line":170},"filter","the_content","restrict_content_page",65,{"type":167,"name":172,"callback":173,"file":149,"line":174},"the_title","restrict_title_page",68,{"type":146,"name":147,"callback":176,"priority":26,"file":149,"line":177},"get_instance",272,[],[],[],[],{"dangerousFunctions":183,"sqlUsage":184,"outputEscaping":186,"fileOperations":26,"externalRequests":26,"nonceChecks":112,"capabilityChecks":187,"bundledLibraries":202},[],{"prepared":26,"raw":26,"locations":185},[],{"escaped":14,"rawEcho":187,"locations":188},6,[189,192,194,196,198,200],{"file":149,"line":190,"context":191},162,"raw output",{"file":149,"line":193,"context":191},163,{"file":149,"line":195,"context":191},165,{"file":149,"line":197,"context":191},166,{"file":149,"line":199,"context":191},185,{"file":149,"line":201,"context":191},223,[],[],{"summary":205,"deductions":206},"The \"restrict-page-by-role\" plugin v1.0.0 exhibits a generally strong security posture based on the provided static analysis.  The absence of any identified entry points, dangerous functions, SQL queries without prepared statements, file operations, or external HTTP requests is highly commendable and indicates robust secure coding practices.  The presence of nonce and capability checks further strengthens its defenses, suggesting a proactive approach to preventing unauthorized actions. The vulnerability history is also a significant positive, with zero known CVEs indicating a history of stability and security.  However, a notable concern lies in the output escaping, where only 25% of outputs are properly escaped. This could potentially lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is reflected directly in the output without adequate sanitization, even though no direct flows were identified in the taint analysis.  While the plugin appears secure in its current state, this area warrants attention for future development to ensure comprehensive protection.",[207],{"reason":208,"points":187},"Low percentage of properly escaped output","2026-03-16T22:52:10.910Z",{"wat":211,"direct":218},{"assetPaths":212,"generatorPatterns":215,"scriptPaths":216,"versionParams":217},[213,214],"\u002Fwp-content\u002Fplugins\u002Frestrict-page-by-role\u002Fassets\u002Fcss\u002Fmain.css","\u002Fwp-content\u002Fplugins\u002Frestrict-page-by-role\u002Fassets\u002Fjs\u002Fmain.js",[],[],[],{"cssClasses":219,"htmlComments":223,"htmlAttributes":224,"restEndpoints":231,"jsGlobals":232,"shortcodeOutput":234},[220,221,222],"lb-rpbr_restrict_access","lb-rpbr_box-select-role","lb-rpbr_select_role",[],[225,226,227,228,229,230],"name=\"lb-rpbr_restrict_access\"","class=\"lb-rpbr_restrict_access\"","name=\"lb-rpbr_select_role_wpnonce\"","name=\"lb-rpbr_select_role\"","id=\"lb-rpbr_select_role\"","class=\"lb-rpbr_select_role\"",[],[233],"data_baianada",[]]