{"id":2168,"date":"2007-10-11T19:57:21","date_gmt":"2007-10-11T19:57:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/bcspamblock\/"},"modified":"2009-01-13T05:25:03","modified_gmt":"2009-01-13T05:25:03","slug":"bcspamblock","status":"closed","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/bcspamblock\/","author":226163,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4","stable_tag":"trunk","tested":"2.7","requires":"2.0.2","requires_php":"","requires_plugins":"","header_name":"bcSpamBlock","header_author":"Brandon Checketts","header_description":"","assets_banners_color":"","last_updated":"2009-01-13 05:25:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/www.brandonchecketts.com\/bcspamblock\/","header_author_uri":"http:\/\/www.brandonchecketts.com\/","rating":0,"author_block_rating":0,"active_installs":50,"downloads":7619,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[107,599],"plugin_category":[44,54],"plugin_contributors":[84989],"plugin_business_model":[],"class_list":["post-2168","plugin","type-plugin","status-closed","hentry","plugin_tags-comments","plugin_tags-spam","plugin_category-discussion-and-community","plugin_category-security-and-spam-protection","plugin_contributors-bchecketts","plugin_committers-bchecketts"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/bcspamblock.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>bcSpamBlock is a simple way to protect your blog from comment spam.  It\nensures that the client is a human by using a small bit of javascript on the\ncomments page.   Users with Javascript enabled will never notice any\ndifference.  For users without Javascript, they will have to copy\/paste a\nshort code into a textbox to confirm.<\/p>\n\n<p>This plugin was designed to be as light and compatible as possible.  It doesn't require\nPHP sessions, a database table or file-based lookups.  It uses a bit of\ncryptography to have the visitor submit all of the information necessary to\nvalidate them.<\/p>\n\n<p>For trackbacks and pingbacks, it ensures that the IP requesting the pingback\nresolves back to the website it is saying that it is.   If so, it retrieves\nthe page that it says contains the link, and makes sure that it does, in-fact\nhave a like to this blog.<\/p>\n\n<p>How it works:\nEssentially, this generates one random value, and a crypted version of it with salt.\nThe crypted version is put directly into a hidden  field.\nIf the visitor has JavaScript enabled, the original random value one is copied to a\nsecond  field via javascript and then hidden\nIf the visitor has javascript disabled, the user must copy\/paste the random value\ninto the input box<\/p>\n\n<p>Original logic for the Javascript portion was taken from the JS SpamBlock Wordpress plugin\nby Paul Butler (http:\/\/www.paulbutler.org\/)<\/p>\n\n<p>The idea for the trackback validation came from the\nsimple-trackback-validation plugin<\/p>\n\n<h3>License<\/h3>\n\n<p>Copyright (c) 2007 - 2009 Brandon Checketts<\/p>\n\n<p>This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.<\/p>\n\n<p>Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:<\/p>\n\n<ol>\n<li>The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.<\/li>\n<li>Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.<\/li>\n<li>This notice may not be removed or altered from any source distribution.<\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li><p>Installation is the same as any simple WordPress plugin.   Simply create a\n\/wp-content\/plugins\/bcspamblock\/ directory, then copy the three files 3\nfiles (bcspamblock.php, bcspamblock_wp.php, and readme.txt) into it<\/p><\/li>\n<li><p>Log into the administrative section of your blog.  Go to the Plugins menu and\nclick 'Activate' next to the bcspamblock plugin<\/p><\/li>\n<\/ol>\n\n<!--section=changelog-->\n<ul>\n<li>2007-10-10 - v1.0 - Initial release <\/li>\n<li>2007-10-12 - v1.1 - Changed the salt to be a string in the format '$1$xxxxxxxx$'\n           This fixes a problem where only the first 8 characters were\n           useful for generating the hash<\/li>\n<li>2007-11-08 - v1.2 - Disabled the checking for the hidden variables in\n           trackbacks, and instead uses a system inspired by the\n           simple-trackback-validation from\n           http:\/\/sw-guide.de\/wordpress\/plugins\/simple-trackback-validation\/\n           Essentially, make sure that the website referenced matches<br \/>\n           REMOTE_ADDR, and that the page actually contains a link to this\n           blog\n           Thanks to wlx@cngis.org for information on how to handle\n           trackback\/pingbacks seperately<\/li>\n<li>2007-11-09 - v1.2.1 - Fixed needle\/haystack problem with strstr() call \n           An annoying PHP inconsistency<\/li>\n<li>2008-05-14 - v1.3 - Fixed a problem where PHP's crypt() function includes\n           the salt inside the encrypted value.<\/li>\n<li>2009-01-13 - v1.4 - Auto approve comments submitted by administrators.  This \n           fixes the ability to add\/edit comments from the admin screens<\/li>\n<\/ul>","raw_excerpt":"Uses Javascript and PHP crypt() functionality to ensure that a visitor is not a spambot.  Requires no sessions or database.  Based on JSSpamBlock","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/2168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=2168"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bchecketts"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=2168"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=2168"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=2168"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=2168"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=2168"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=2168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}