[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fbAbFOvrO9L1LVT2BMIUXUs73B0vXtNvHJnG__-4MZBs":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":25,"download_link":26,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":38,"analysis":144,"fingerprints":269},"js-error-logger","JS Error Logger","1.3.1","JFG Media","https:\u002F\u002Fprofiles.wordpress.org\u002Fjfgmedia\u002F","\u003Cp>The plugin catches most JS errors, logs them, and displays them in a dashboard widget.\u003C\u002Fp>\n\u003Cp>Here are some of its features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\nExcept for the plugin settings, there is no database storage involved. Log is written in a “.log” file.\n\u003C\u002Fli>\n\u003Cli>\nDisplay latest JS errors in a dashboard widget.\n\u003C\u002Fli>\n\u003Cli>\nRefresh errors from the dashboard widget.\n\u003C\u002Fli>\n\u003Cli>\nSee the full error log on a separate page.\n\u003C\u002Fli>\n\u003Cli>\nIgnore errors if the user agent contains a specific string.\n\u003C\u002Fli>\n\u003Cli>\nIgnore errors if the error contains a specific string.\n\u003C\u002Fli>\n\u003Cli>\nIgnore errors if the script url contains a specific string.\n\u003C\u002Fli>\n\u003Cli>\nSee which page and which script triggered the errors.\n\u003C\u002Fli>\n\u003Cli>\nChoose the maximum amount of errors to log per page load.\n\u003C\u002Fli>\n\u003Cli>\nExclude logging errors from specific post types.\n\u003C\u002Fli>\n\u003Cli>\nChoose how ajax calls are made.\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developer hooks and filters\u003C\u002Fh4>\n\u003Cp>The plugin cleans the log every 24 hours, to only keep the last 100 entries.\u003Cbr \u002F>\nYou may use the “jserrlog_max_log_entries” WP filter to enable more or less entries, by returning an integer: \u003Ccode>add_filter('jserrlog_max_log_entries',function(){return 200;})\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Alter error data:\u003Cbr \u002F>\nYou may use the “jserrlog_pre_insert_error” WP filter to modify the error data before it’s inserted into the log file: \u003Ccode>add_filter('jserrlog_pre_insert_error',function($error_data){return $error_data;})\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Trigger integrations:\u003Cbr \u002F>\nYou may use the “jserrlog_after_log” WP hook to trigger an action (Slack notification, etc.) after an error was logged: \u003Ccode>add_action('jserrlog_after_log',function($error_data){\u002F\u002Fdo something})\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Backup old errors:\u003Cbr \u002F>\nYou may use the “jserrlog_before_log_maintenance” WP hook to trigger an action (archive errors, etc.) before old errors are deleted: \u003Ccode>add_action('jserrlog_before_log_maintenance',function($errors){\u002F\u002Fdo something})\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>Multisite\u003C\u002Fh4>\n\u003Cp>The plugin works with multisite. There’s one error log per site.\u003C\u002Fp>\n","Logs front-end javascript errors, and displays them in a dashboard widget",10,1446,100,1,"2025-12-11T05:34:00.000Z","6.9.4","5.0","7.4",[20,21,22,23,24],"dashboard-widget","debug","error-reporting","javascript","js","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjs-error-logger.1.3.1.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":13,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"jfgmedia",3,190,30,94,"2026-04-03T21:13:18.883Z",[39,56,79,99,121],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":11,"downloaded":47,"rating":13,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":18,"tags":52,"homepage":25,"download_link":55,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"simple-log-viewer","Simple Log Viewer","1.0.4","Pedro Avelar","https:\u002F\u002Fprofiles.wordpress.org\u002Fpedroasa\u002F","\u003Cp>A simple plugin to log errors in real time in a metabox in the admin panel, too integrated with WP-CLI.\u003C\u002Fp>\n\u003Cp>For the run command with WP-CLI is necessary to activate the plugin and install WP-CLI.\u003C\u002Fp>\n\u003Cp>When running, paste the command \u003Ccode>wp slvpl logs-erros\u003C\u002Fcode> into the terminal, by default the number of lines is 1000 but you can control the number of lines through the \u003Ccode>--num_linhas\u003C\u002Fcode> parameter\u003C\u002Fp>\n\u003Cp>\u003Cstrong>For the example\u003C\u002Fstrong>:  \u003Ccode>wp slvpl logs-erros [--num_linhas=\u003Cnum_linhas>]\u003C\u002Fcode> or\u003Cbr \u002F>\nbetter in the example \u003Ccode>wp slvpl logs-erros --num_linhas=100\u003C\u002Fcode>.\u003C\u002Fp>\n","A simple plugin to log errors in real time in a metabox in the admin panel, too integrated with WP-CLI",1857,2,"2025-05-26T01:49:00.000Z","6.6.5","5.4",[20,21,22,53,54],"erros","logs","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-log-viewer.1.0.4.zip",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":66,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":18,"tags":71,"homepage":75,"download_link":76,"security_score":77,"vuln_count":14,"unpatched_count":27,"last_vuln_date":78,"fetched_at":29},"error-log-monitor","Error Log Monitor","1.7.12","Janis Elsts","https:\u002F\u002Fprofiles.wordpress.org\u002Fwhiteshadow\u002F","\u003Cp>This plugin adds a Dashboard widget that displays the latest messages from your PHP error log. It can also send you email notifications about newly logged errors.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatically detects error log location.\u003C\u002Fli>\n\u003Cli>Explains how to configure PHP error logging if it’s not enabled yet.\u003C\u002Fli>\n\u003Cli>The number of displayed log entries is configurable.\u003C\u002Fli>\n\u003Cli>Sends you email notifications about logged errors (optional).\u003C\u002Fli>\n\u003Cli>Configurable email address and frequency.\u003C\u002Fli>\n\u003Cli>You can easily clear the log file.\u003C\u002Fli>\n\u003Cli>The dashboard widget is only visible to administrators.\u003C\u002Fli>\n\u003Cli>Optimized to work well even with very large log files.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Usage\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Once you’ve installed the plugin, go to the Dashboard and enable the “PHP Error Log” widget through the “Screen Options” panel. The widget should automatically display the last 20 lines from your PHP error log. If you see an error message like “Error logging is disabled” instead, follow the displayed instructions to configure error logging.\u003C\u002Fp>\n\u003Cp>Email notifications are disabled by default. To enable them, click the “Configure” link in the top-right corner of the widget and enter your email address in the “Periodically email logged errors to:” box. If desired, you can also change email frequency by selecting the minimum time interval between emails from the “How often to send email” drop-down.\u003C\u002Fp>\n","Adds a Dashboard widget that displays the latest messages from your PHP error log. It can also send logged errors to email.",20000,631204,86,48,"2025-10-01T15:12:00.000Z","6.8.5","4.5",[72,73,20,22,74],"admin","administration","php","http:\u002F\u002Fw-shadow.com\u002Fblog\u002F2012\u002F07\u002F25\u002Ferror-log-monitor-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ferror-log-monitor.1.7.12.zip",99,"2019-02-25 00:00:00",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":64,"downloaded":87,"rating":66,"num_ratings":88,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":25,"tags":92,"homepage":96,"download_link":97,"security_score":98,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"oh-add-script-header-footer","SOGO Add Script to Individual Pages Header Footer","3.9","SOGO","https:\u002F\u002Fprofiles.wordpress.org\u002Forenhav\u002F","\u003Cp>Tested with Gutenberg\u003C\u002Fp>\n\u003Cp>Create a simple way to add javascript code to individual page post or custom post type header and footer,\u003Cbr \u002F>\nfor example: add conversion code to thank you pages\u003Cbr \u002F>\nadd google re-marketing code to individual pages\u003Cbr \u002F>\nand much more…\u003Cbr \u002F>\nadded in version 1.3 the option to add script  \\ style to all pages not only individual pages,\u003Cbr \u002F>\n this will allow you to add Google re-marketing code to the entire site or Google Analytics\u003Cbr \u002F>\n to use it goto “settings” – “Header Footer Settings”\u003C\u002Fp>\n\u003Cp>New Features (version 3.0):\u003Cbr \u002F>\nAdded option for terms  \u002F category pages\u003C\u002Fp>\n\u003Cp>New Features (version 2.3):\u003Cbr \u002F>\n Added support for WooCommerce shop page.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>we support now exclude individual pages form printing the header and footer scripts, this is supported by 2 checkboxes in each page\\post\u003Cbr \u002F>\nbuy check it the script will not be display on this page\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>we added support to limit the script only for certain post type \\ page\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>if you like it \\ use it – please rate us.\u003C\u002Fp>\n\u003Cp>usage:\u003Cbr \u002F>\nYou need to paste the code with the script tag, for example:\u003Cbr \u002F>\n   you js code \u003C\u002Fp>\n","Simple plugin to add script to header and footer for individual pages & posts",382562,31,"2020-01-20T09:20:00.000Z","5.3.21","3.5",[93,94,23,24,95],"footer","header","re-marketing-code","http:\u002F\u002Fsogo.co.il","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foh-add-script-header-footer.zip",85,{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":13,"num_ratings":109,"last_updated":110,"tested_up_to":111,"requires_at_least":112,"requires_php":25,"tags":113,"homepage":25,"download_link":118,"security_score":119,"vuln_count":14,"unpatched_count":27,"last_vuln_date":120,"fetched_at":29},"tc-custom-javascript","TC Custom JavaScript","1.2.3","Tiny Code","https:\u002F\u002Fprofiles.wordpress.org\u002Ftinycode\u002F","\u003Cp>Add custom JavaScript to your site from a professional editor in the WordPress admin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>TC Custom JavaScript\u003C\u002Fstrong>‘s still in early stage. If you have any troubles when using it, or any ideas to improve its features to fit with your work, please do not hesitate to contact us.\u003C\u002Fp>\n","Add custom JavaScript to your site from a professional editor in the WordPress admin.",10000,115752,8,"2023-02-24T03:13:00.000Z","6.1.10","3.0.0",[114,115,116,117],"custom-javascript","custom-js","edit-js-theme","javascript-editor","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftc-custom-javascript.1.2.3.zip",84,"2020-07-21 00:00:00",{"slug":122,"name":123,"version":124,"author":125,"author_profile":126,"description":127,"short_description":128,"active_installs":129,"downloaded":130,"rating":131,"num_ratings":132,"last_updated":133,"tested_up_to":16,"requires_at_least":134,"requires_php":25,"tags":135,"homepage":141,"download_link":142,"security_score":77,"vuln_count":14,"unpatched_count":27,"last_vuln_date":143,"fetched_at":29},"jquery-validation-for-contact-form-7","Jquery Validation For Contact Form 7","5.4.2","Dnesscarkey","https:\u002F\u002Fprofiles.wordpress.org\u002Fdnesscarkey\u002F","\u003Cp>This plugin adds jquery form validation to your contact form 7. You will be able to validate extra validation rules like: url, date, credit card, phone number in the contact form 7 fields.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Benefits you get from this plugins.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Adds Jquery Validation to Contact Form Fields.\u003C\u002Fli>\n\u003Cli>More faster validation than of contact form core validation.\u003C\u002Fli>\n\u003Cli>Allows field to be validated for url, date, credit card, number and more.\u003C\u002Fli>\n\u003Cli>Field Highlight features for invalid field data types.\u003C\u002Fli>\n\u003Cli>Error message for individual fields.\u003C\u002Fli>\n\u003Cli>Easy to to add validation rules. Just add class in contact form 7 fields.\u003C\u002Fli>\n\u003Cli>Interactive validation that your users love.\u003C\u002Fli>\n\u003Cli>Works with multiple forms now.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Validation Methods available in lite version.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Required\u003C\u002Fli>\n\u003Cli>Email\u003C\u002Fli>\n\u003Cli>Url\u003C\u002Fli>\n\u003Cli>Date\u003C\u002Fli>\n\u003Cli>Number\u003C\u002Fli>\n\u003Cli>Digit only\u003C\u002Fli>\n\u003Cli>Credit Card\u003C\u002Fli>\n\u003Cli>US Phone number\u003C\u002Fli>\n\u003Cli>Letters Only\u003C\u002Fli>\n\u003Cli>IBAN (International Bank account number)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdnesscarkey.com\u002Fjquery-validation\u002Flite-version-demo\u002F\" rel=\"nofollow ugc\">LITE VERSION DEMO\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Documentation\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdnesscarkey.com\u002Fjquery-validation\u002Fhow-to-use\u002F\" rel=\"nofollow ugc\">How To Use\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdnesscarkey.com\u002Fjquery-validation\u002Fvalidation-methods\u002F\" rel=\"nofollow ugc\">Validation Methods\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Additional Validation Methods available in PRO version.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Multiple Custom Code Validation with One time Code option.\u003C\u002Fli>\n\u003Cli>Custom RegEx Validation – Define any validation rules you need.\u003C\u002Fli>\n\u003Cli>Username validation check (Demo : \u003Ca href=\"https:\u002F\u002Fbit.ly\u002F2BueOn2\" rel=\"nofollow ugc\">https:\u002F\u002Fbit.ly\u002F2BueOn2\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>Email Code Verification (Demo : \u003Ca href=\"https:\u002F\u002Fbit.ly\u002F3gOJuiS\" rel=\"nofollow ugc\">https:\u002F\u002Fbit.ly\u002F3gOJuiS\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>Alpha Numeric – Letters, numbers, and underscores only\u003C\u002Fli>\n\u003Cli>Bank or Giro account number.\u003C\u002Fli>\n\u003Cli>BIC Code – Accepts Valid BIC Code Only.\u003C\u002Fli>\n\u003Cli>Giro Account – Accepts Giro Account number only.\u003C\u002Fli>\n\u003Cli>Integer – Accepts positive or negative non-decimal number.\u003C\u002Fli>\n\u003Cli>IPv4 \u002F IPv6 – Accepts IPv4\u002FIPv6 IP address only.\u003C\u002Fli>\n\u003Cli>Mobile UK – Accepts UK Mobile number only.\u003C\u002Fli>\n\u003Cli>Phone UK – Accepts UK phone number only.\u003C\u002Fli>\n\u003Cli>US State – Accpets US state only.\u003C\u002Fli>\n\u003Cli>Minimum Number – Makes the element require a given minimum.\u003C\u002Fli>\n\u003Cli>Maximum Number – Makes the element require a given maximum.\u003C\u002Fli>\n\u003Cli>Minimum Length – Makes the element require a given minimum length.\u003C\u002Fli>\n\u003Cli>Maximum Length – Makes the element require a given maximum length.\u003C\u002Fli>\n\u003Cli>Range Length – Makes the element require a given value range.\u003C\u002Fli>\n\u003Cli>Range – Makes the element require a given value range.\u003C\u002Fli>\n\u003Cli>Equal To – Requires the element to be the same as another one\u003C\u002Fli>\n\u003Cli>Extension – Makes the element require a certain file extension\u003C\u002Fli>\n\u003Cli>Require Group – Ensures a given number of fields in a group are complete.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Additional Features in Pro version.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>4 different \u003Ca href=\"https:\u002F\u002Fdnesscarkey.com\u002Fjquery-validation\u002Fvalidation-error-theme\u002F\" rel=\"nofollow ugc\">validation error theme\u003C\u002Fa> to choose from. \u003C\u002Fli>\n\u003Cli>Change \u003Ca href=\"https:\u002F\u002Fdnesscarkey.com\u002Fjquery-validation\u002Fchange-error-message\u002F\" rel=\"nofollow ugc\">validation error message\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdnesscarkey.com\u002Fjquery-validation\u002Fpro-version-demo\u002F\" rel=\"nofollow ugc\">PRO VERSION DEMO\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdnesscarkey.com\u002Fjquery-validation\u002Fbuy-now\u002F\" rel=\"nofollow ugc\">BUY PRO VERSION\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>For Support Please Visit \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fjquery-validation-for-contact-form-7\u002F\" rel=\"ugc\">https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fjquery-validation-for-contact-form-7\u002F\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Don’t forget to check the instructions in the setting page of the plugin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>jQuery Validation for Gravity Form available\u003C\u002Fstrong>\u003Cbr \u002F>\nNeed javascript based validation for Gravity Forms ? Check out our jQuery Validation For Gravity Form plugin \u003Ca href=\"https:\u002F\u002Fdineshkarki.com.np\u002Fjquery-validation-for-gravity-forms\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003C\u002Fp>\n","New standard of advance validation for Contact Form 7.",9000,225321,92,87,"2025-12-20T04:16:00.000Z","3.0",[136,137,138,139,140],"extra-validation","form-validation","javascript-validation","jquery-validation","js-validation","http:\u002F\u002Fdnesscarkey.com\u002Fjquery-validation\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjquery-validation-for-contact-form-7.5.4.2.zip","2022-06-27 00:00:00",{"attackSurface":145,"codeSignals":246,"taintFlows":258,"riskAssessment":259,"analyzedAt":268},{"hooks":146,"ajaxHandlers":210,"restRoutes":239,"shortcodes":240,"cronEvents":241,"entryPointCount":244,"unprotectedCount":245},[147,153,158,161,164,168,172,176,180,183,187,189,191,193,197,200,204,208],{"type":148,"name":149,"callback":150,"file":151,"line":152},"action","jserrlog-cleanup","maintain_log","classes\\Logger.php",14,{"type":148,"name":154,"callback":155,"file":156,"line":157},"wp_enqueue_scripts","closure","classes\\Plugin.php",36,{"type":148,"name":154,"callback":159,"priority":14,"file":156,"line":160},"enqueue_js",43,{"type":148,"name":162,"callback":159,"priority":14,"file":156,"line":163},"admin_enqueue_scripts",49,{"type":148,"name":165,"callback":166,"file":156,"line":167},"wp_dashboard_setup","widget_setup",55,{"type":148,"name":169,"callback":170,"file":156,"line":171},"admin_notices","admin_notice",60,{"type":173,"name":174,"callback":174,"priority":11,"file":156,"line":175},"filter","plugin_action_links",62,{"type":148,"name":177,"callback":178,"file":156,"line":179},"admin_menu","register_menu_page",63,{"type":148,"name":162,"callback":181,"file":156,"line":182},"enqueue_styles",64,{"type":148,"name":184,"callback":185,"file":156,"line":186},"admin_footer","enqueue_admin_scripts",66,{"type":148,"name":162,"callback":155,"file":156,"line":188},145,{"type":148,"name":154,"callback":155,"file":156,"line":190},632,{"type":148,"name":162,"callback":155,"file":156,"line":192},635,{"type":173,"name":194,"callback":195,"priority":11,"file":156,"line":196},"script_loader_src","rewrite_script_src",642,{"type":148,"name":162,"callback":198,"file":156,"line":199},"enqueue_dashboard_scripts",689,{"type":148,"name":201,"callback":201,"file":202,"line":203},"init","js-error-logger.php",29,{"type":148,"name":154,"callback":205,"priority":14,"file":206,"line":207},"jserrlog_early_script_enqueue","templates\\early-loader.php",25,{"type":148,"name":162,"callback":205,"priority":14,"file":206,"line":209},26,[211,217,219,223,227,231,235],{"action":212,"nopriv":213,"callback":214,"hasNonce":215,"hasCapCheck":213,"file":156,"line":216},"jserrlog_log_error",false,"process_error",true,41,{"action":212,"nopriv":215,"callback":214,"hasNonce":215,"hasCapCheck":213,"file":156,"line":218},42,{"action":220,"nopriv":213,"callback":221,"hasNonce":213,"hasCapCheck":213,"file":156,"line":222},"jserrlog_refresh_dashboard_log","refresh_dashboard_log",56,{"action":224,"nopriv":213,"callback":225,"hasNonce":213,"hasCapCheck":213,"file":156,"line":226},"jserrlog_refresh_log","refresh_log",58,{"action":228,"nopriv":213,"callback":229,"hasNonce":213,"hasCapCheck":213,"file":156,"line":230},"jserrlog_purge_log","purge_log",59,{"action":232,"nopriv":213,"callback":233,"hasNonce":213,"hasCapCheck":213,"file":156,"line":234},"jserrlog_dismissed_notice_handler","admin_notice_handler",61,{"action":236,"nopriv":213,"callback":237,"hasNonce":213,"hasCapCheck":213,"file":156,"line":238},"jserrlog_update_settings","update_settings",65,[],[],[242],{"hook":149,"callback":149,"file":156,"line":243},860,7,5,{"dangerousFunctions":247,"sqlUsage":248,"outputEscaping":250,"fileOperations":256,"externalRequests":27,"nonceChecks":48,"capabilityChecks":14,"bundledLibraries":257},[],{"prepared":27,"raw":27,"locations":249},[],{"escaped":251,"rawEcho":14,"locations":252},122,[253],{"file":254,"line":238,"context":255},"templates\\dashboard-widget.php","raw output",6,[],[],{"summary":260,"deductions":261},"The \"js-error-logger\" plugin v1.3.1 exhibits a mixed security posture. On the positive side, the code demonstrates good practices with 100% of SQL queries using prepared statements and nearly all output being properly escaped. The absence of known CVEs and a clean vulnerability history also suggest a relatively mature and secure codebase in the past.  However, significant security concerns arise from the attack surface analysis, specifically the presence of 7 AJAX handlers, 5 of which lack authentication checks. This creates a substantial entry point for potential attacks. While taint analysis shows no critical or high severity unsanitized paths, the unprotected AJAX handlers could still be exploited to trigger actions or log data in unintended ways, especially if combined with other vulnerabilities or social engineering.  The plugin has a single cron event and limited file operations, which are positive indicators of reduced risk in those areas. Overall, the plugin's strengths lie in its secure data handling (SQL, output escaping) and lack of past vulnerabilities, but the unprotected AJAX endpoints represent a notable weakness that requires immediate attention to mitigate potential security risks.",[262,264,266],{"reason":263,"points":11},"Unprotected AJAX handlers (5)",{"reason":265,"points":245},"Limited nonce checks (2)",{"reason":267,"points":245},"Limited capability checks (1)","2026-03-16T23:52:27.931Z",{"wat":270,"direct":280},{"assetPaths":271,"generatorPatterns":275,"scriptPaths":276,"versionParams":277},[272,273,274],"\u002Fwp-content\u002Fplugins\u002Fjs-error-logger\u002Fres\u002Ftoastr\u002Ftoastr.min.js","\u002Fwp-content\u002Fplugins\u002Fjs-error-logger\u002Fjs\u002Fsettings.js","\u002Fwp-content\u002Fplugins\u002Fjs-error-logger\u002Fjs\u002Ferror-logger.js",[],[274],[278,279],"js-error-logger\u002Fjs\u002Ferror-logger.js?ver=","js-error-logger\u002Fres\u002Ftoastr\u002Ftoastr.min.js?ver=",{"cssClasses":281,"htmlComments":285,"htmlAttributes":288,"restEndpoints":292,"jsGlobals":295,"shortcodeOutput":297},[282,283,284],"jserrlog-log-table","jserrlog-settings-form","jserrlog-accent-color",[286,287],"\u003C!-- JS Error Logger -->","\u003C!-- JSERRLOG -->",[289,290,291],"data-jserrlog-nonce","data-jserrlog-url","data-jserrlog-log-id",[293,294],"\u002Fwp-json\u002Fjs-error-logger\u002Fv1\u002Flog","\u002Fwp-json\u002Fjs-error-logger\u002Fv1\u002Fsettings",[296],"jserrlog",[]]