{"id":317506,"date":"2026-06-15T16:12:22","date_gmt":"2026-06-15T16:12:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/janric-simple-attack-monitor\/"},"modified":"2026-06-15T16:11:50","modified_gmt":"2026-06-15T16:11:50","slug":"janric-simple-attack-monitor","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/janric-simple-attack-monitor\/","author":23475072,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Janric Simple Attack Monitor","header_author":"Keith Lunt","header_description":"Silently watches for common attack patterns and logs them. No bloat, no blocking \u2014 just data.","assets_banners_color":"2d6b80","last_updated":"2026-06-15 16:11:50","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/janricshield.com\/janric-attack-monitor.php","header_author_uri":"https:\/\/janricshield.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":87,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"keithlunt","date":"2026-06-15 16:11:50"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3573413,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3573413,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[262246],"plugin_tags":[31093,23853,600,6558],"plugin_category":[54],"plugin_contributors":[263701],"plugin_business_model":[],"class_list":["post-317506","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-hardening","plugin_tags-rest-api","plugin_tags-security","plugin_tags-xml-rpc","plugin_category-security-and-spam-protection","plugin_contributors-keithlunt","plugin_committers-keithlunt"],"banners":{"banner":"https:\/\/ps.w.org\/janric-simple-attack-monitor\/assets\/banner-772x250.png?rev=3573413","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/janric-simple-attack-monitor\/assets\/icon-256x256.png?rev=3573413","icon_2x":"https:\/\/ps.w.org\/janric-simple-attack-monitor\/assets\/icon-256x256.png?rev=3573413","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Most security plugins try to do everything \u2014 firewall, blocking, malware scanning, email alerts \u2014 and end up bloated, slow, and full of upsells. Attack Monitor does one thing: it watches your site for common attack patterns and quietly logs them, so you always know what's being thrown at your site.\nWhat it detects<\/p>\n\n<p>Brute force login attempts\nXML-RPC abuse (including system.multicall floods)\nUser enumeration via ?author= and the REST API\nAdmin area probing by unauthenticated visitors\nPath and plugin scanning (phpinfo.php, .env, phpmyadmin, wp-config.php and more)\nSQL injection attempts in URLs and POST data\nXSS attempts in URLs and POST data\nComment flooding<\/p>\n\n<p>What you get<\/p>\n\n<p>A dashboard widget showing this week's attacks by category at a glance\nA full log page with day \/ week \/ 30-day \/ all-time views\nA bar chart of attack volume over time\nTop attacking IPs ranked by hit count\nFilterable event log with timestamps, IPs, URLs and detail\nSafe IP whitelist \u2014 exclude your own monitoring tools, cron jobs or office IP ranges\nCIDR range support (e.g. 192.168.1.0\/24) for the whitelist\nA single lightweight database table \u2014 nothing else added to your WordPress installation<\/p>\n\n<p>Philosophy\nDetection and blocking are separate concerns. This plugin handles detection only, leaving you free to choose how you respond \u2014 whether that's Fail2ban, Cloudflare, a companion blocking plugin, or simply reviewing the data. No firewall rules are added, no requests are blocked or slowed down, and no data is sent anywhere outside your own database.\nIdeal for developers, agencies and site owners who want visibility without handing over control to an all-in-one security suite.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/janric-simple-attack-monitor\/<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>That's it \u2014 no configuration needed unless you want to ignore IP addresses.<\/li>\n<li>To ignore known safe probes, e.g. regular jobs you run, go to the Attack Monitor in the Navigation bar, then Safe IPs and simply add 1 IP address per line for all you wish to ignore.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Lightweight attack detection for WordPress. Logs brute force, XML-RPC abuse, SQL injection, XSS attempts and more. No bloat, no blocking \u2014 just data.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/317506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=317506"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/keithlunt"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=317506"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=317506"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=317506"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=317506"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=317506"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=317506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}