{"id":259062,"date":"2025-11-12T12:12:06","date_gmt":"2025-11-12T12:12:06","guid":{"rendered":"https:\/\/ja.wordpress.org\/plugins\/tiny-comment-spam-blocker\/"},"modified":"2026-01-30T09:21:06","modified_gmt":"2026-01-30T09:21:06","slug":"tiny-comment-spam-blocker","status":"publish","type":"plugin","link":"https:\/\/fi.wordpress.org\/plugins\/tiny-comment-spam-blocker\/","author":23346985,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4.0","stable_tag":"1.4.0","tested":"6.9.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Tiny Comment Spam Blocker","header_author":"Kasuga","header_description":"Lightweight but robust. Blocks comment spam with five techniques: nonce, submission time checks, honeypot fields, user agent validation, and forbidden word filtering.","assets_banners_color":"cbdbf3","last_updated":"2026-01-30 09:21:06","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.me\/kasuga16","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":455,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"kasuga16","date":"2025-11-13 08:30:51"},"1.2.0":{"tag":"1.2.0","author":"kasuga16","date":"2026-01-30 09:21:06"},"1.2.1":{"tag":"1.2.1","author":"kasuga16","date":"2026-01-30 09:21:06"},"1.3.0":{"tag":"1.3.0","author":"kasuga16","date":"2026-01-30 09:21:06"},"1.3.2":{"tag":"1.3.2","author":"kasuga16","date":"2026-01-30 09:21:06"},"1.4.0":{"tag":"1.4.0","author":"kasuga16","date":"2026-01-30 09:21:06"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3394305,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3394305,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544\u00d7500.png":{"filename":"banner-1544\u00d7500.png","revision":3394305,"resolution":"1544x500","location":"assets","locale":""},"banner-772\u00d7250.png":{"filename":"banner-772\u00d7250.png","revision":3394305,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.2.0","1.2.1","1.3.0","1.3.2","1.4.0"],"block_files":[],"assets_screenshots":{"screenshot-2.png":{"filename":"screenshot-2.png","revision":3450268,"resolution":"2","location":"plugin"},"screenshot-1.png":{"filename":"screenshot-1.png","revision":3450268,"resolution":"1","location":"plugin"}},"screenshots":{"1":"Plugin settings page.","2":"Example of the spam detection log output."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2656,107,598,600,2419],"plugin_category":[44,54],"plugin_contributors":[246687],"plugin_business_model":[],"class_list":["post-259062","plugin","type-plugin","status-publish","hentry","plugin_tags-anti-spam","plugin_tags-comments","plugin_tags-honeypot","plugin_tags-security","plugin_tags-spam-protection","plugin_category-discussion-and-community","plugin_category-security-and-spam-protection","plugin_contributors-kasuga16","plugin_committers-kasuga16"],"banners":{"banner":"https:\/\/ps.w.org\/tiny-comment-spam-blocker\/assets\/banner-772\u00d7250.png?rev=3394305","banner_2x":"https:\/\/ps.w.org\/tiny-comment-spam-blocker\/assets\/banner-1544\u00d7500.png?rev=3394305","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tiny-comment-spam-blocker\/assets\/icon-128x128.png?rev=3394305","icon_2x":"https:\/\/ps.w.org\/tiny-comment-spam-blocker\/assets\/icon-256x256.png?rev=3394305","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/tiny-comment-spam-blocker\/trunk\/screenshot-1.png?rev=3450268","caption":"Plugin settings page."},{"src":"https:\/\/ps.w.org\/tiny-comment-spam-blocker\/trunk\/screenshot-2.png?rev=3450268","caption":"Example of the spam detection log output."}],"raw_content":"<!--section=description-->\n<p>Tiny Comment Spam Blocker is a lightweight yet powerful plugin designed to protect your WordPress comments from spam. It employs five different techniques to detect and block unwanted comments:<\/p>\n\n<ol>\n<li><strong>Nonce Verification<\/strong> \u2013 Ensures that the comment form submission is genuine.<\/li>\n<li><strong>Submission Time Check<\/strong> \u2013 Blocks comments submitted too quickly to prevent bots.<\/li>\n<li><strong>Honeypot Field<\/strong> \u2013 Hidden field that traps automated spam bots.<\/li>\n<li><strong>User Agent Validation<\/strong> \u2013 Detects suspicious User-Agent strings and blocks them.<\/li>\n<li><strong>Forbidden Word Filtering<\/strong> \u2013 Blocks submissions containing words or phrases from a configurable list within the <strong>comment body, email address, or IP address.<\/strong><\/li>\n<li><strong>JavaScript-Based Human Interaction Detection<\/strong> \u2013 Sets a verification token when mouse movement, scrolling, or touch interaction is detected.<\/li>\n<li><strong>(Option) Block Non-Japanese Comments<\/strong> \u2013 Blocks comments that do not contain Japanese characters (Hiragana, Katakana, or Han\/Kanji), primarily targeting machine-translated or foreign spam.<\/li>\n<\/ol>\n\n<p>These filters are applied in order: if a comment passes the first check, it proceeds to the second, and so on, until all checks are applied or the comment is blocked.<\/p>\n\n<p>Additional features:<\/p>\n\n<ul>\n<li>Option to log detected spam in a local log file (up to 1.0 MB).<\/li>\n<li>Optional email notifications when spam is detected.<\/li>\n<li>Easy settings page in the WordPress admin panel.<\/li>\n<\/ul>\n\n\n\n<h3>Settings<\/h3>\n\n<p>The plugin provides the following settings in the WordPress admin panel:<\/p>\n\n<ul>\n<li><strong>Enable Spam Protection<\/strong> \u2013 Toggle the spam protection on or off. When disabled, all anti-spam checks are skipped.<\/li>\n<li><strong>Save Spam Detection Log<\/strong> \u2013 Enable or disable logging of detected spam. Logs are saved in a local file up to 1.0 MB within the WordPress uploads directory.<\/li>\n<li><strong>Notification Email Address<\/strong> \u2013 Enter an email address to receive notifications when spam is detected. Leave blank to disable email notifications.<\/li>\n<li><strong>Minimum Submission Time (seconds)<\/strong> \u2013 Set the minimum allowed time between loading the comment form and submitting a comment. Comments submitted faster than this threshold are considered spam.<\/li>\n<li><strong>Forbidden Words List<\/strong> \u2013 Enter one forbidden word, phrase, or IP address per line. Submissions containing these entries in the comment body, <strong>email address<\/strong>, or <strong>IP address<\/strong> will be blocked. <strong>Case is insensitive.<\/strong>\n\n<ul>\n<li><strong>Example:<\/strong>\nviagra\nonline pharmacy\nspam@email.com\n164.138.205.72<\/li>\n<\/ul><\/li>\n<li><strong>Block No Japanese Comments<\/strong> - If enabled, this becomes the final check: Comments that contain Japanese characters (Hiragana, Katakana, or Kanji) will be automatically accepted after passing other security checks. <strong>Comments without Japanese characters will be blocked.<\/strong><\/li>\n<\/ul>\n\n\n\n<h3>Arbitrary Section<\/h3>\n\n<p>This plugin is designed to be lightweight and fast, ensuring minimal impact on site performance while providing robust protection against comment spam.<\/p>\n\n<!--section=installation-->\n<ol>\n<li><p>Upload via WordPress Dashboard:\n \u2013 In your WordPress dashboard, go to 'Plugins' \u2192 'Add New'.\n \u2013 Search for \"tiny comment spam blocker\" and click 'Install Now'.\n \u2013 Click 'Activate' once the installation is complete.\n \u2013 Go to <strong>Settings \u2192 Tiny Spam Blocker<\/strong> to configure options.<\/p><\/li>\n<li><p>Manual Installation via FTP:\n \u2013 Download the plugin's zip file and extract it.\n \u2013 Connect to your server via FTP and navigate to the \"wp-content\/plugins\/\" directory.\n \u2013 Upload the extracted \"quick-translate-pot-po-mo\" folder to this directory.\n \u2013 Go to 'Plugins' in your WordPress dashboard and activate the plugin.\n \u2013 Go to <strong>Settings \u2192 Tiny Spam Blocker<\/strong> to configure options.<\/p><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20the%20%22submission%20time%20check%22%3F\"><h3>What is the \"Submission Time Check\"?<\/h3><\/dt>\n<dd><p>This check measures how long a user takes to fill out the comment form. Bots often submit comments in 1-2 seconds. The default setting blocks submissions faster than <strong>5 seconds<\/strong>, but you can adjust this time threshold in the settings.<\/p><\/dd>\n<dt id=\"how%20do%20i%20enable%20email%20notifications%3F\"><h3>How do I enable email notifications?<\/h3><\/dt>\n<dd><p>Enter a valid email address in the <strong>Notification Email Address<\/strong> field. Leave it blank if you do not want to send an email.<\/p><\/dd>\n<dt id=\"how%20large%20can%20the%20log%20file%20grow%3F\"><h3>How large can the log file grow?<\/h3><\/dt>\n<dd><p>The log file is capped at 1.0 MB. When it exceeds this limit, it will be overwritten with an initial message.<\/p><\/dd>\n<dt id=\"where%20is%20the%20log%20file%20saved%3F\"><h3>Where is the log file saved?<\/h3><\/dt>\n<dd>If logging is enabled, spam attempts are saved to a file named tcsb-log.txt located in a dedicated folder under the WordPress content directory (WP_CONTENT_DIR). The log can be viewed and cleared directly from the plugin's settings page.<\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added JavaScript to detect human interaction.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Security fix: Hardened log directory access via .htaccess and index.html.<\/li>\n<li>Security fix: Randomized log filenames to prevent path guessing.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Security fix: Moved spam logs to a non-public directory<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added a new option to block non-Japanese comments.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fix a minor bug<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added IP address to forbidden word checks.<\/li>\n<li>The detection message has been modified.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Extend forbidden word checks from comments to email addresses as well.<\/li>\n<li>The log has been made more detailed.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Five anti-spam techniques implemented.<\/li>\n<li>Logging and optional email notifications added.<\/li>\n<\/ul>","raw_excerpt":"A simple and lightweight yet rock-solid plugin that blocks comment spam using multiple automatic detection methods.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/259062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=259062"}],"author":[{"embeddable":true,"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kasuga16"}],"wp:attachment":[{"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=259062"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=259062"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=259062"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=259062"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=259062"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=259062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}