[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fmDXeF_G4MtPlokkyuqRR2eV9GgrmfS94ieBolgpj1Ng":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":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":37,"analysis":145,"fingerprints":435},"atr-server-status","ATR Server Status","1.5.1","rehhoff","https:\u002F\u002Fprofiles.wordpress.org\u002Frehhoff\u002F","\u003Cp>\u003Cstrong>Important notice\u003C\u002Fstrong>\u003Cbr \u002F>\nThis plugin is no longer in active development, do not use in high-availability environments.\u003C\u002Fp>\n\u003Cp>Simple, efficient, ad- and bloatfree plugin for testing whether or not a given server address is up for just you, or everyone else on a given port and protocol.\u003Cbr \u002F>\nServers & services are checked in real-time whenever a user requests to view the page where the shortcode is inserted.\u003C\u002Fp>\n\u003Cp>Intuitive interface, makes is really easy to maintain servers & services to check.\u003C\u002Fp>\n\u003Cp>You have the ability to filter\u002Fhook the message displayed to the user through functions.php in your theme folder.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( \"atr_server_success_message\", function($message, $server) {\n    return $server->humanname.\" appears to be working alrstight.\";\n}, 10, 2);\n\nadd_filter( \"atr_server_error_message\", function($message, $server) {\n    return $server->humanname.\" is down.\";\n}, 10, 2);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can also use the filter “atr_perm_administer_servers” to alter the permission being used to check access rights.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( \"atr_perm_administer_servers\", function( $permission ) {\n    $permission = \"editor\";\n    return $permission;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Shortcode Examples\u003C\u002Fh3>\n\u003Cp>Displays all servers entered in wp-admin\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[server-status]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display server by certain id\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[server-status id=\"X\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display servers by multiple id’s\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[server-status id=\"X,X,X\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Excludes certain posts from display, only works if ‘id’ is not set.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[server-status exclude=\"X\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Supports most common protocols (TCP, UDP, HTTP, HTTPS) (FTP is on the todo)\u003C\u002Fli>\n\u003Cli>Define a human friendly readable name for display\u003C\u002Fli>\n\u003Cli>Define hostname\u003C\u002Fli>\n\u003Cli>Define port\u003C\u002Fli>\n\u003Cli>Define timeout in seconds\u003C\u002Fli>\n\u003Cli>Define protocol\u003C\u002Fli>\n\u003Cli>Drag’n’drop ordering\u003C\u002Fli>\n\u003Cli>Edit and delete servers\u002Fservices\u003C\u002Fli>\n\u003Cli>Shortcodes for checking one or more servers frontend\u003C\u002Fli>\n\u003Cli>Simple, clear and well explained settings page\u003C\u002Fli>\n\u003Cli>Filter available configurations\u003C\u002Fli>\n\u003Cli>Settings page with various configrations to suit your needs\u003C\u002Fli>\n\u003Cli>Possible to disable\u002Fenable servers and services\u003C\u002Fli>\n\u003Cli>Includes a widget for displaying servers in sidebars\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Is this plugin for you?\u003C\u002Fh3>\n\u003Cp>If you’re looking for a full fledged server monitoring tool, no. Consider using thirdparty software such as \u003Ca href=\"https:\u002F\u002Fzabbix.org\u002Fwiki\u002FMain_Page\" rel=\"nofollow ugc\">zabbix instead\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Otherwise, if you just want to provide a service, for your users\u002Fvisitors to check whether or not one or more of your servers is running healthy then yes, this is for you.\u003C\u002Fp>\n\u003Ch3>Feature requests\u003C\u002Fh3>\n\u003Cp>Think this plugin is missing a feature? I’ll gladly discuss any feature requests sent to me either through the wordpress support forums, or via my contact formular.\u003C\u002Fp>\n\u003Cp>Keep in mind, features must be able to fit seamlessly with the core wordpress UI, and must not be intrusive, or considered adware.\u003C\u002Fp>\n\u003Ch3>Got a question?\u003C\u002Fh3>\n\u003Cp>If you have any questions not answered here, do feel free to \u003Ca href=\"https:\u002F\u002Frehhoff.me\u002Fcontact\" rel=\"nofollow ugc\">send me an email\u003C\u002Fa> and I’ll do my best to answer you within 48 hours.\u003C\u002Fp>\n\u003Cp>Response time is usually faster if you send me a mail, instead of using the wordpress support forums.\u003C\u002Fp>\n","Important notice",100,7999,86,11,"2024-10-08T13:52:00.000Z","5.8.13","4.0","5.6",[20,21,22,23,24],"check-server","check-service","server","server-status","service-status","http:\u002F\u002Frehhoff.me","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fatr-server-status.1.5.1.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},1,30,88,"2026-04-05T00:18:17.085Z",[38,60,80,104,125],{"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":53,"tags":54,"homepage":58,"download_link":59,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"server-info","Server Info","0.0.1","Usman Ali Qureshi","https:\u002F\u002Fprofiles.wordpress.org\u002Fusmanaliqureshi\u002F","\u003Cp>This plugin will show you useful information about the hosting server you are using e.g. PHP version, MySQL version, Server OS, Server Protocol, Server IP and other useful information. You can use the information displayed by this plugin to update any settings which is crucial for your website performance and other aspects.\u003C\u002Fp>\n\u003Cp>You will see the information about:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>PHP Version\u003C\u002Fli>\n\u003Cli>Operating System\u003C\u002Fli>\n\u003Cli>Server IP\u003C\u002Fli>\n\u003Cli>Server Hostname\u003C\u002Fli>\n\u003Cli>MySQL Version\u003C\u002Fli>\n\u003Cli>System Uptime\u003C\u002Fli>\n\u003Cli>Active Theme\u003C\u002Fli>\n\u003Cli>Active Plugins\u003C\u002Fli>\n\u003Cli>Database Name\u003C\u002Fli>\n\u003Cli>Database Username\u003C\u002Fli>\n\u003Cli>Database Hostname\u003C\u002Fli>\n\u003Cli>Database Charset\u003C\u002Fli>\n\u003Cli>Database Collate\u003C\u002Fli>\n\u003Cli>WordPress Debugging (Enabled\u002FDisabled)\u003C\u002Fli>\n\u003Cli>WordPress Memory Limit\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Please rate the Plugin if you find it useful, thanks.\u003C\u002Fp>\n","This plugin will show you very useful information about your hosting server such as PHP version, Server OS, Server IP etc.",3000,56532,72,10,"2025-05-19T05:40:00.000Z","6.8.5","5.2","7.3",[55,56,39,23,57],"admin","dashboard","widget","https:\u002F\u002Fgithub.com\u002Fusmanaliqureshi\u002Fserver-info","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fserver-info.zip",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":11,"downloaded":68,"rating":11,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":78,"download_link":79,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"htaccess-server-info-server-status","Apache Status & Info","3.3.0","Pierre Lannoy","https:\u002F\u002Fprofiles.wordpress.org\u002Fpierrelannoy\u002F","\u003Cp>When you want to use \u003Ca href=\"https:\u002F\u002Fhttpd.apache.org\u002Fdocs\u002F2.4\u002Fen\u002Fmod\u002Fmod_info.html\" rel=\"nofollow ugc\">server-info\u003C\u002Fa> and\u002For \u003Ca href=\"https:\u002F\u002Fhttpd.apache.org\u002Fdocs\u002Fcurrent\u002Fen\u002Fmod\u002Fmod_status.html\" rel=\"nofollow ugc\">server-status\u003C\u002Fa> with Apache server, you must modify (right in your \u003Ccode>.htaccess\u003C\u002Fcode> file) the rewrite rules generated by WordPress. And you must do it each time WordPress modify and regenerates the rules.\u003Cbr \u002F>\n\u003Cstrong>Apache Status & Info\u003C\u002Fstrong> do it for you, without you having to intervene. Just activate it and that’s it!\u003C\u002Fp>\n\u003Cp>In addition to this, \u003Cstrong>Apache Status & Info\u003C\u002Fstrong> allows you to monitor your Apache configuration and settings, right in your WordPress admin (see screenshots for example).\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Apache Status & Info\u003C\u002Fstrong> is part of \u003Ca href=\"https:\u002F\u002Fperfops.one\u002F\" rel=\"nofollow ugc\">PerfOps One\u003C\u002Fa>, a suite of free and open source WordPress plugins dedicated to observability and operations performance.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>Apache Status & Info\u003C\u002Fstrong> is a free and open source plugin for WordPress. It integrates many other free and open source works (as-is or modified). Please, see ‘about’ tab in the plugin settings to see the details.\u003C\u002Fp>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>This plugin is free and provided without warranty of any kind. Use it at your own risk, I’m not responsible for any improper use of this plugin, nor for any damage it might cause to your site. Always backup all your data before installing a new plugin.\u003C\u002Fp>\n\u003Cp>Anyway, I’ll be glad to help you if you encounter issues when using this plugin. Just use the support section of this plugin page.\u003C\u002Fp>\n\u003Ch4>Privacy\u003C\u002Fh4>\n\u003Cp>This plugin, as any piece of software, is neither compliant nor non-compliant with privacy laws and regulations. It is your responsibility to use it with respect for the personal data of your users and applicable laws.\u003C\u002Fp>\n\u003Cp>This plugin doesn’t set any cookie in the user’s browser.\u003C\u002Fp>\n\u003Cp>This plugin doesn’t handle personally identifiable information (PII).\u003C\u002Fp>\n\u003Ch4>Donation\u003C\u002Fh4>\n\u003Cp>If you like this plugin or find it useful and want to thank me for the work done, please consider making a donation to \u003Ca href=\"https:\u002F\u002Fwww.laquadrature.net\u002Fen\" rel=\"nofollow ugc\">La Quadrature Du Net\u003C\u002Fa> or the \u003Ca href=\"https:\u002F\u002Fwww.eff.org\u002F\" rel=\"nofollow ugc\">Electronic Frontier Foundation\u003C\u002Fa> which are advocacy groups defending the rights and freedoms of citizens on the Internet. By supporting them, you help the daily actions they perform to defend our fundamental freedoms!\u003C\u002Fp>\n","Apache server-info and server-status monitoring right in your WordPress admin.",12681,3,"2025-11-22T11:56:00.000Z","6.9.4","6.2","8.1",[75,76,39,23,77],"apache","htaccess","stackdriver","https:\u002F\u002Fperfops.one\u002Fhtaccess-server-info-server-status","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhtaccess-server-info-server-status.3.3.0.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":90,"num_ratings":91,"last_updated":92,"tested_up_to":93,"requires_at_least":94,"requires_php":95,"tags":96,"homepage":101,"download_link":102,"security_score":103,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"heartbeat-control","Heartbeat Control","2.0.1","WP Media","https:\u002F\u002Fprofiles.wordpress.org\u002Fwp_media\u002F","\u003Cp>Heartbeat Control by WP Rocket allows you to manage the frequency of the WordPress heartbeat API in a few clicks.\u003C\u002Fp>\n\u003Cp>The WordPress Heartbeat API is a great feature that provides real-time communication between the server and the browser when you are logged into your WordPress admin panel. It uses the file \u002Fwp-admin\u002Fadmin-ajax.php to run AJAX calls from the browser. By default, AJAX requests are sent every 15 seconds on post edit pages, and every 60 seconds on the dashboard.\u003C\u002Fp>\n\u003Cp>This is indeed helpful; but if you usually leave your WordPress admin open for long periods (for example when you write or edit posts), the AJAX requests from the API can pile up and generate high CPU usage, leading to server performance issues and even hosting account suspensions.\u003C\u002Fp>\n\u003Cp>With Heartbeat Control by WP Rocket, you can easily choose to limit or completely stop the activity of the WordPress Heartbeat API. You can also add rules for specific locations only (Dashboard, Frontend or Post Editor).\u003C\u002Fp>\n\u003Cp>To learn more about WordPress performance optimization and make your website faster, join our \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fgroups\u002FWPRocketUsers\u002F\" rel=\"nofollow ugc\">WP Rocket Facebook Community\u003C\u002Fa>!\u003C\u002Fp>\n\u003Ch4>Related Plugins\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwp-rocket.me\u002F?utm_source=wordpress.org&utm_medium=referral&utm_campaign=HeartBeatPlugin\" rel=\"nofollow ugc\">WP Rocket\u003C\u002Fa>: Best caching plugin to speed-up your WordPress website.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frocket-lazy-load\u002F\" rel=\"ugc\">Lazy Load by WP Rocket\u003C\u002Fa>: Best Lazy Load script to reduce the number of HTTP requests and improves the websites loading time.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimagify\u002F\" rel=\"ugc\">Imagify\u003C\u002Fa>: Best Image Optimizer to speed up your website with lighter images.\u003C\u002Fli>\n\u003C\u002Ful>\n","Allows you to easily manage the frequency of the WordPress heartbeat API.",80000,1216108,84,68,"2023-08-31T13:23:00.000Z","6.3.8","3.6","5.3",[97,98,99,81,100],"admin-ajax","heartbeat","heartbeat-api","server-resources","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fheartbeat-control\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fheartbeat-control.2.0.1.zip",85,{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":71,"requires_at_least":95,"requires_php":117,"tags":118,"homepage":123,"download_link":124,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"media-sync","Media Sync","1.4.9","erolsk8","https:\u002F\u002Fprofiles.wordpress.org\u002Ferolsk8\u002F","\u003Cp>This plugin allows you to examine all files within the \u003Ccode>uploads\u003C\u002Fcode> directory to determine which ones are present in the Media Library and which ones are just sitting there unused. You can then choose the files you want to import into the database, thereby including them in the Media Library.\u003C\u002Fp>\n\u003Cp>Moreover, you can utilize FTP to upload files directly to the \u003Ccode>uploads\u003C\u002Fcode> directory and subsequently add these files to the Media Library avoiding any file size limitations.\u003C\u002Fp>\n\u003Ch4>Disclaimers\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\n\u003Cp>“1 file first”\u003Cbr \u002F>\nPlease try to import only one file first – to see if it works as you expected.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>“All at once”\u003Cbr \u002F>\nThis plugin is designed for scanning, selecting, and importing \u003Cstrong>all files at once\u003C\u002Fstrong>. However, based on your server’s configuration, memory, and timeout challenges may arise with extensive file quantities. To mitigate this, a newly revamped \u003Ca href=\"https:\u002F\u002Fmediasyncplugin.com\u002F?utm_source=readme&utm_medium=base_plugin&utm_campaign=aao\" rel=\"nofollow ugc\">pro version\u003C\u002Fa> employs incremental directory scans to effectively tackle these issues.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>“Your setup is unique”\u003Cbr \u002F>\nPlease be aware that every WordPress installation is unique, and there may be instances where this plugin does not function as expected. Should this occur, we recommend enabling the debugging feature in the plugin’s settings to identify the issue. After investigating, kindly provide a detailed description of your findings in the Support section (or \u003Ca href=\"https:\u002F\u002Fusers.freemius.com\u002Fstore\u002F6428\u002Fsupport\" rel=\"nofollow ugc\">here\u003C\u002Fa> if you’re using pro version). The more comprehensive the details, the higher the likelihood of resolving the problem effectively.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Ignored files\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>various hidden files (.DS_Store, .htaccess),\u003C\u002Fli>\n\u003Cli>WP generated thumbnails (files ending with for example -100×100.jpg),\u003C\u002Fli>\n\u003Cli>WP generated scaled images (files ending with -scaled),\u003C\u002Fli>\n\u003Cli>optimized .webp versions of original images (.jpg.webp),\u003C\u002Fli>\n\u003Cli>retina thumbnails (-100×100@2x.jpg).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These can be modified and enhanced using the new advanced filters available in the \u003Ca href=\"https:\u002F\u002Fmediasyncplugin.com\u002F?utm_source=readme&utm_medium=base_plugin&utm_campaign=df\" rel=\"nofollow ugc\">pro version\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Media Sync Pro features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Revised incremental scan\u003C\u002Fstrong>: Allows scanning and importing unlimited number of files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quick single directory rescan\u003C\u002Fstrong>: Easily rescan one directory to find new files or apply a different filter without reloading the whole page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced filters\u003C\u002Fstrong>: Find any file by customizing all default filters, search for a specific file type (images, videos, etc.), skip by tailor-made rules, or enter any custom pattern.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Schedule automatic imports\u003C\u002Fstrong>: Select a desired interval and let the plugin automatically import any new files it finds.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import logs\u003C\u002Fstrong>: View the history of manual or scheduled imports.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Limit plugin access\u003C\u002Fstrong>: Limit plugin access to a specific role.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Get \u003Ca href=\"https:\u002F\u002Fmediasyncplugin.com\u002F?utm_source=readme&utm_medium=base_plugin&utm_campaign=pfl\" rel=\"nofollow ugc\">pro version here\u003C\u002Fa>.\u003C\u002Fp>\n","Simple plugin to scan \"uploads\" directory and bring those files into Media Library.",40000,527569,94,82,"2025-11-25T08:11:00.000Z","7.1",[119,120,121,22,122],"ftp","import","media","uploads","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmedia-sync\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmedia-sync.1.4.9.zip",{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":133,"downloaded":134,"rating":135,"num_ratings":136,"last_updated":137,"tested_up_to":138,"requires_at_least":139,"requires_php":140,"tags":141,"homepage":140,"download_link":144,"security_score":103,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"display-php-version","Display PHP Version","1.8","David Gwyer","https:\u002F\u002Fprofiles.wordpress.org\u002Fdgwyer\u002F","\u003Cp>Very lightweight and simple plugin that displays the currently installed PHP\u002FMySQL version in the “At a Glance” admin dashboard widget.\u003C\u002Fp>\n\u003Cp>In the latest plugin version you can also view the current MySQL version when hovering over the PHP version text. We chose to implement it this way as you may not need to know the MySQL version as often as the PHP version, and it just adds unnecessary visual noise.\u003C\u002Fp>\n\u003Cp>Just hover over the PHP version label to display the installed MySQL version.\u003C\u002Fp>\n\u003Cp>Also, on some Windows based servers the returned MySQL version can be displayed with a \u003Ccode>5.5.5-\u003C\u002Fcode> prefix which can be a little annoying, so this is removed for convenience.\u003C\u002Fp>\n\u003Cp>Please \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fdisplay-php-version\" rel=\"ugc\">\u003Cstrong>rate\u003C\u002Fstrong>\u003C\u002Fa> this Plugin if you find it useful. It only takes a moment but it’s very much appreciated. 🙂\u003C\u002Fp>\n\u003Cp>And here’s how you can \u003Ca href='https:\u002F\u002Fwww.paypal.com\u002Fbiz\u002Ffund?id=6EW7V4MWJP8ZE' rel=\"nofollow ugc\">help support\u003C\u002Fa> our open source work. We couldn’t do this without you!\u003C\u002Fp>\n\u003Cp>For more plugins see our \u003Ca href=\"https:\u002F\u002Fwww.wpgoplugins.com\" rel=\"nofollow ugc\">WordPress plugin site\u003C\u002Fa>.\u003C\u002Fp>\n","Displays the currently installed PHP\u002FMySQL version in the \"At a Glance\" admin dashboard widget.",30000,500094,98,35,"2023-05-16T17:30:00.000Z","6.2.9","3.0","",[55,56,22,142,143],"support","version","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisplay-php-version.1.8.zip",{"attackSurface":146,"codeSignals":213,"taintFlows":341,"riskAssessment":423,"analyzedAt":434},{"hooks":147,"ajaxHandlers":194,"restRoutes":209,"shortcodes":210,"cronEvents":211,"entryPointCount":212,"unprotectedCount":212},[148,154,157,160,163,166,168,171,174,177,180,184,188,190,192],{"type":149,"name":150,"callback":151,"file":152,"line":153},"action","admin_enqueue_scripts","closure","atr-server-status.php",29,{"type":149,"name":155,"callback":151,"file":152,"line":156},"wp_enqueue_scripts",41,{"type":149,"name":158,"callback":151,"file":152,"line":159},"admin_menu",53,{"type":149,"name":161,"callback":151,"file":152,"line":162},"init",66,{"type":149,"name":164,"callback":151,"file":152,"line":165},"widgets_init",81,{"type":149,"name":167,"callback":151,"file":152,"line":35},"admin_post_ass_add_server",{"type":149,"name":169,"callback":151,"file":152,"line":170},"admin_post_ass_edit_server",108,{"type":149,"name":172,"callback":151,"file":152,"line":173},"wp_footer",191,{"type":149,"name":175,"callback":151,"file":152,"line":176},"admin_post_ass_save_config",198,{"type":149,"name":178,"callback":151,"file":152,"line":179},"admin_notices",217,{"type":149,"name":181,"callback":151,"file":182,"line":183},"admin_init","include\\compatibility.php",7,{"type":149,"name":185,"callback":151,"file":186,"line":187},"admin_head","include\\plugin-compatibility\\acf-extended.php",2,{"type":149,"name":185,"callback":151,"file":189,"line":187},"include\\plugin-compatibility\\dark-mode.php",{"type":149,"name":161,"callback":151,"priority":28,"file":191,"line":187},"include\\post-types.php",{"type":149,"name":181,"callback":151,"file":193,"line":14},"include\\settings.php",[195,199,202,207],{"action":196,"nopriv":197,"callback":151,"hasNonce":197,"hasCapCheck":197,"file":152,"line":198},"ass_sort_server",false,127,{"action":200,"nopriv":197,"callback":151,"hasNonce":197,"hasCapCheck":197,"file":152,"line":201},"ass_remove_server",137,{"action":203,"nopriv":204,"callback":205,"hasNonce":197,"hasCapCheck":197,"file":152,"line":206},"ass_check_server",true,"ass_check_server_availability",149,{"action":203,"nopriv":197,"callback":205,"hasNonce":197,"hasCapCheck":197,"file":152,"line":208},150,[],[],[],4,{"dangerousFunctions":214,"sqlUsage":215,"outputEscaping":217,"fileOperations":28,"externalRequests":28,"nonceChecks":212,"capabilityChecks":33,"bundledLibraries":340},[],{"prepared":28,"raw":28,"locations":216},[],{"escaped":218,"rawEcho":48,"locations":219},13,[220,224,226,228,230,232,234,235,237,239,240,242,244,247,250,252,254,256,257,258,259,260,261,262,263,265,266,268,270,272,273,275,276,277,279,281,283,284,286,287,288,289,291,292,293,294,296,297,299,301,303,305,306,308,309,311,312,314,316,318,320,322,324,326,327,329,331,332,334,335,337,338],{"file":221,"line":222,"context":223},"classes\\ServerStatusWidget.class.php",14,"raw output",{"file":221,"line":225,"context":223},17,{"file":221,"line":227,"context":223},21,{"file":221,"line":229,"context":223},24,{"file":221,"line":231,"context":223},50,{"file":221,"line":233,"context":223},51,{"file":221,"line":233,"context":223},{"file":221,"line":236,"context":223},56,{"file":221,"line":238,"context":223},58,{"file":221,"line":238,"context":223},{"file":221,"line":241,"context":223},61,{"file":221,"line":243,"context":223},64,{"file":245,"line":246,"context":223},"include\\functions.php",253,{"file":248,"line":249,"context":223},"templates\\admin-config.php",5,{"file":248,"line":251,"context":223},12,{"file":248,"line":253,"context":223},16,{"file":248,"line":255,"context":223},20,{"file":248,"line":255,"context":223},{"file":248,"line":255,"context":223},{"file":248,"line":255,"context":223},{"file":248,"line":229,"context":223},{"file":248,"line":229,"context":223},{"file":248,"line":229,"context":223},{"file":248,"line":229,"context":223},{"file":248,"line":264,"context":223},26,{"file":248,"line":264,"context":223},{"file":248,"line":267,"context":223},28,{"file":248,"line":269,"context":223},37,{"file":271,"line":222,"context":223},"templates\\admin-servers.php",{"file":271,"line":229,"context":223},{"file":271,"line":274,"context":223},25,{"file":271,"line":267,"context":223},{"file":271,"line":153,"context":223},{"file":271,"line":278,"context":223},32,{"file":271,"line":280,"context":223},33,{"file":271,"line":282,"context":223},36,{"file":271,"line":269,"context":223},{"file":271,"line":285,"context":223},40,{"file":271,"line":156,"context":223},{"file":271,"line":236,"context":223},{"file":271,"line":236,"context":223},{"file":271,"line":290,"context":223},59,{"file":271,"line":290,"context":223},{"file":271,"line":290,"context":223},{"file":271,"line":243,"context":223},{"file":271,"line":295,"context":223},65,{"file":271,"line":162,"context":223},{"file":271,"line":298,"context":223},67,{"file":271,"line":300,"context":223},70,{"file":271,"line":302,"context":223},74,{"file":271,"line":304,"context":223},78,{"file":271,"line":165,"context":223},{"file":271,"line":307,"context":223},91,{"file":271,"line":114,"context":223},{"file":271,"line":310,"context":223},97,{"file":271,"line":11,"context":223},{"file":271,"line":313,"context":223},105,{"file":271,"line":315,"context":223},106,{"file":271,"line":317,"context":223},114,{"file":271,"line":319,"context":223},162,{"file":271,"line":321,"context":223},165,{"file":271,"line":323,"context":223},207,{"file":325,"line":187,"context":223},"templates\\session-messages.php",{"file":325,"line":69,"context":223},{"file":328,"line":183,"context":223},"templates\\view-servers.php",{"file":328,"line":330,"context":223},8,{"file":328,"line":222,"context":223},{"file":328,"line":333,"context":223},15,{"file":328,"line":253,"context":223},{"file":336,"line":187,"context":223},"templates\\wp-footer.php",{"file":336,"line":249,"context":223},{"file":336,"line":339,"context":223},6,[],[342,360,368,377,385,412],{"entryPoint":343,"graph":344,"unsanitizedCount":33,"severity":359},"set (classes\\SessionStatusMessage.class.php:14)",{"nodes":345,"edges":357},[346,352],{"id":347,"type":348,"label":349,"file":350,"line":351},"n0","source","$_SERVER['HTTP_REFERER']","classes\\SessionStatusMessage.class.php",19,{"id":353,"type":354,"label":355,"file":350,"line":351,"wp_function":356},"n1","sink","wp_redirect() [Open Redirect]","wp_redirect",[358],{"from":347,"to":353,"sanitized":197},"medium",{"entryPoint":361,"graph":362,"unsanitizedCount":33,"severity":359},"\u003CSessionStatusMessage.class> (classes\\SessionStatusMessage.class.php:0)",{"nodes":363,"edges":366},[364,365],{"id":347,"type":348,"label":349,"file":350,"line":351},{"id":353,"type":354,"label":355,"file":350,"line":351,"wp_function":356},[367],{"from":347,"to":353,"sanitized":197},{"entryPoint":369,"graph":370,"unsanitizedCount":33,"severity":359},"set (classes\\StatusMessages.class.php:31)",{"nodes":371,"edges":375},[372,374],{"id":347,"type":348,"label":349,"file":373,"line":136},"classes\\StatusMessages.class.php",{"id":353,"type":354,"label":355,"file":373,"line":136,"wp_function":356},[376],{"from":347,"to":353,"sanitized":197},{"entryPoint":378,"graph":379,"unsanitizedCount":33,"severity":359},"\u003CStatusMessages.class> (classes\\StatusMessages.class.php:0)",{"nodes":380,"edges":383},[381,382],{"id":347,"type":348,"label":349,"file":373,"line":136},{"id":353,"type":354,"label":355,"file":373,"line":136,"wp_function":356},[384],{"from":347,"to":353,"sanitized":197},{"entryPoint":386,"graph":387,"unsanitizedCount":33,"severity":411},"\u003Catr-server-status> (atr-server-status.php:0)",{"nodes":388,"edges":407},[389,392,394,398,402],{"id":347,"type":348,"label":390,"file":152,"line":391},"$_POST (x2)",89,{"id":353,"type":354,"label":355,"file":152,"line":393,"wp_function":356},95,{"id":395,"type":348,"label":396,"file":152,"line":397},"n2","$_POST",203,{"id":399,"type":400,"label":401,"file":152,"line":397},"n3","transform","→ Save()",{"id":403,"type":354,"label":404,"file":405,"line":11,"wp_function":406},"n4","update_option() [Settings Manipulation]","classes\\ATR\\Settings.class.php","update_option",[408,409,410],{"from":347,"to":353,"sanitized":204},{"from":395,"to":399,"sanitized":197},{"from":399,"to":403,"sanitized":197},"low",{"entryPoint":413,"graph":414,"unsanitizedCount":249,"severity":411},"\u003Cadmin-servers> (templates\\admin-servers.php:0)",{"nodes":415,"edges":421},[416,418],{"id":347,"type":348,"label":417,"file":271,"line":69},"$_GET (x5)",{"id":353,"type":354,"label":419,"file":271,"line":307,"wp_function":420},"echo() [XSS]","echo",[422],{"from":347,"to":353,"sanitized":197},{"summary":424,"deductions":425},"The atr-server-status plugin exhibits a mixed security posture. On the positive side, it demonstrates good practices by not using dangerous functions, performing all SQL queries using prepared statements, and not making external HTTP requests or performing file operations.  The absence of known vulnerabilities and bundled libraries is also a strength. However, significant concerns arise from the static analysis. The plugin has a total of four AJAX handlers, and alarmingly, all four lack authentication checks, presenting a substantial attack surface for unauthenticated users. While taint analysis didn't reveal critical or high-severity unsanitized paths, the fact that all analyzed flows had unsanitized paths is a red flag and suggests potential for issues if input validation is not robust enough.\n\nThe vulnerability history is currently clean, with no recorded CVEs, which is a positive indicator for this version. This suggests the developers may have learned from past mistakes or that the plugin has not been a target. Nevertheless, the lack of proper output escaping on a significant portion of outputs (85 total, only 15% properly escaped) presents a risk of Cross-Site Scripting (XSS) vulnerabilities.  The presence of nonce checks on all AJAX handlers is good, but this is undermined by the absence of capability checks on the AJAX handlers themselves.\n\nIn conclusion, while the plugin has some strong security foundations, the unprotected AJAX handlers and poor output escaping are critical weaknesses that expose it to significant risks, particularly XSS and unauthorized functionality execution. The taint analysis also warrants attention despite the absence of critical findings. A thorough review of input sanitization and output escaping for all AJAX handlers is strongly recommended.",[426,428,430,432],{"reason":427,"points":255},"Unprotected AJAX handlers",{"reason":429,"points":333},"Low percentage of properly escaped output",{"reason":431,"points":49},"All taint flows have unsanitized paths",{"reason":433,"points":49},"Missing capability checks on AJAX","2026-03-16T20:50:48.217Z",{"wat":436,"direct":451},{"assetPaths":437,"generatorPatterns":447,"scriptPaths":448,"versionParams":450},[438,439,440,441,442,443,444,445,446],"\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Fstylesheets\u002Fadmin-servers.css","\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Fjavascript\u002Fserver-functions.js","\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Fstylesheets\u002Ffrontend-servers.css","\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Fjavascript\u002Ffrontend-check-servers-","\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Ftemplates\u002Fadmin-servers.php","\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Ftemplates\u002Fadmin-config.php","\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Ftemplates\u002Fview-servers.php","\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Ftemplates\u002Fwp-footer.php","\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Ftemplates\u002Fsettings.php",[],[439,449],"\u002Fwp-content\u002Fplugins\u002Fatr-server-status\u002Fjavascript\u002Ffrontend-check-servers-.js",[],{"cssClasses":452,"htmlComments":453,"htmlAttributes":454,"restEndpoints":457,"jsGlobals":458,"shortcodeOutput":461},[],[],[455,456],"data-atr-server-status-id","data-atr-server-status-url",[],[459,460],"window.ATR","window.ATR.Settings",[462,23],"[server-status"]