{"id":38947,"date":"2015-09-20T05:06:35","date_gmt":"2015-09-20T05:06:35","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/botnet-blocker\/"},"modified":"2017-02-10T13:24:55","modified_gmt":"2017-02-10T13:24:55","slug":"botnet-blocker","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/botnet-blocker\/","author":12888303,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.5","stable_tag":"1.2.5","tested":"4.3.34","requires":"4.0.0","requires_php":"","requires_plugins":"","header_name":"Botnet Blocker","header_author":"Dennis Wallace","header_description":"","assets_banners_color":"","last_updated":"2017-02-10 13:24:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/wordpress.org\/extend\/plugins\/botnet-blocker\/","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":10,"downloads":1921,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.2.3":"<p>No longer throws extra warnings; fixes error when using Block on Page Load<\/p>","1.2.2":"<p>Added commenting in lists, now respects the Block on Page Load setting<\/p>","1.2.1":"<p>Fixed preg_match errors in DNS matching<\/p>","1.2.0":"<p>Allows ignoring all RBLs<\/p>","1.1.0":"<p>Adds DNS-based lists and an early-load blocking option<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":"1"},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.0","1.0.0","1.0.1","1.1.0","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1256133","resolution":"1","location":"assets"}},"screenshots":{"1":"The admin interface."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2562,107,1785,599,13869],"plugin_category":[44,54],"plugin_contributors":[91588,78371],"plugin_business_model":[],"class_list":["post-38947","plugin","type-plugin","status-closed","hentry","plugin_tags-blocking","plugin_tags-comments","plugin_tags-dnsbl","plugin_tags-spam","plugin_tags-spamhaus","plugin_category-discussion-and-community","plugin_category-security-and-spam-protection","plugin_contributors-achbed","plugin_contributors-znaeff","plugin_committers-achbed"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/botnet-blocker.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/botnet-blocker\/assets\/screenshot-1.png?rev=1256133","caption":"The admin interface."}],"raw_content":"<!--section=description-->\n<p>This plugin provides a global object that will validate an incoming IP address against one or several DNSBLs, as well as internal white and black lists. Uses .xbl.spamhaus.org by default.  This is based on a slightly modified version of the public DNSBL class, and was inspired by the spam-ip-blocker plugin by znaeff.\n<a href=\"http:\/\/www.phpclasses.org\/package\/6994-PHP-Check-spam-IP-address-in-DNS-black-lists.html\" title=\"DNSBL class on PHPClasses.org\">Official page of DNSBL class on PHPClasses.org<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install folder <code>botnet-blocker<\/code> to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li><p>In your template, theme, or plugin, do something similar to the following:<\/p>\n\nis_botnet() ) {\n      \/* bot detected, do something *\/\n    }\n  }\n?&gt;<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>Why do I need one more anti-botnet plugin?<\/dt>\n<dd><p>Because I haven't found any decent free plugins that uses spam blocking lists that present a decent API.\nThis plugin is designed to give you a quick and easy way to check the spam lists and do something creative\nwithout locking you into a \"block all\" scheme.  It's there if you want it, but it's not required.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Plugin_BNBlocker::netmatch no longer throws warnings when error level is high<\/li>\n<li>Reworked Plugin_BNBlocker::netmatch to reduce computation a bit<\/li>\n<li>Fixes error when using Block on Page Load<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Block on Page Load setting now retrieved properly<\/li>\n<li>All lists support commenting via # (hash)<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed preg_match errors in DNS matching<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added \"none\" option for the RBLs (so you can use white\/black lists but ignore the RBLs)<\/li>\n<li>Added checks to improve performance where possible<\/li>\n<li>Fixed the readme, added screenshot<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added DNS-based white and blacklists as an option<\/li>\n<li>Added option to block bots during the plugins_loaded timeframe<\/li>\n<li>Corrected the main blocked() function to use 404 instead of 406<\/li>\n<li>Reversed order of changelog in the readme<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Refactored to allow for support for language packs<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Complete refactor of the Plugin<\/li>\n<li>Now has an admin section for modifying white\/black\/skip lists within the UI<\/li>\n<li>Allows choosing which RBL in the UI<\/li>\n<li>Revised logic to improve speed<\/li>\n<li>Now uses CIDR-formatted netmasks for better maintenance<\/li>\n<li>Removed hard-coded proxy network lists - use the whitelist instead<\/li>\n<li>BREAKING CHANGE: Global object has been renamed from $BOTNETBLOCKER_OBJ to $wp_plugin_bnblocker<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Added extensive URL-based debugging and reply headers when in debug mode<\/li>\n<li>Added a hard coded white\/black\/skip list system<\/li>\n<li>Added timing checks for debugging speed issues<\/li>\n<li>Added Sucuri network addresses to skip list<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Fixed issue where DNSBL class used a short opening tag (broke some installations)<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First version.<\/li>\n<\/ul>","raw_excerpt":"Botnet identifier using public DNSBL bases and a hardcoded whitelist\/blacklist.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/38947","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=38947"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/achbed"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=38947"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=38947"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=38947"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=38947"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=38947"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=38947"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}