Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
フォームプラグインにスパムボット対策として「ハニーポット」機能を追加しました。
背景・目的
従来、フォームのスパム対策としてメールアドレス・ドメイン・IPアドレスによるブロックリストを提供していましたが、これらは「投稿後にスパムと判定する」方式でした。ハニーポットを導入することで、より効果的に事前にボット投稿を検出・ブロックできるようになります。
変更内容
主な機能
ハニーポットによるボット検出
website_urlを設置spam_block_historiesテーブルに記録ブロックリスト管理の統一
技術的改善
spam_block_type_badge.blade.php)UI変更箇所
レビュー完了希望日
軽微な改修なので急ぎません
関連Pull requests/Issues
なし
参考
ハニーポット(Honeypot)は、Webフォームのスパム対策として広く使われている手法です。人間には見えない隠しフィールドを設置し、ボットが自動的にすべての項目を入力しようとする特性を利用して検出します。
参考: https://en.wikipedia.org/wiki/Honeypot_(computing)
DB変更の有無
有り
マイグレーション
2026_01_29_100001_make_block_value_nullable_in_spam_lists.phpspam_lists.block_valueカラムを nullable に変更チェックリスト
tests/Feature/Plugins/User/Forms/FormsHoneypotTest.php)補足:主な変更ファイル
新規作成
database/migrations/2026_01_29_100001_make_block_value_nullable_in_spam_lists.phpresources/views/plugins/common/spam_block_type_badge.blade.phpresources/views/plugins/user/forms/default/include_honeypot_field.blade.phptests/Feature/Plugins/User/Forms/FormsHoneypotTest.php主な修正
app/Enums/SpamBlockType.php- honeypot 種別追加app/Plugins/User/Forms/FormsPlugin.php- ハニーポットチェック・記録機能追加app/Plugins/Manage/SpamManage/SpamManage.php- バリデーション調整動作確認項目