Skip to content

Conversation

@masaton0216
Copy link
Contributor

概要

フォームプラグインにスパムフィルタリング機能を追加しました。

背景・目的

フォームへのスパム投稿を防止するため、特定のメールアドレス・ドメイン・IPアドレスからの投稿をブロックする機能が必要でした。
reCAPTCHA等の自動対策をすり抜けるスパム投稿に対して、管理者が手動でブロック設定できる手段を提供します。

変更内容

1. スパム管理(管理画面)

  • サイト全体で適用されるスパムリストを管理する機能を追加
  • メールアドレス、ドメイン、IPアドレスの3種類でブロック可能
  • 適用範囲は「全体」または「特定フォーム」を選択可能
  • 検索機能、CSVダウンロード機能を搭載

2. フォームプラグイン - スパムフィルタリング設定

  • フォームごとにスパムフィルタリングのON/OFFを設定可能
  • ブロック時のメッセージをカスタマイズ可能
  • フォーム固有のスパムリストを追加・削除可能

3. フォームプラグイン - 登録一覧

  • IPアドレス列を追加(スパムフィルタリング有効時のみ記録)
  • 投稿データから直接スパムリストへ追加できる機能を搭載

ブロック種別

  • メールアドレス: 完全一致でブロック
  • ドメイン: メールアドレスの@以降と一致する場合にブロック
  • IPアドレス: 送信元IPアドレスと一致する場合にブロック

※ メールアドレス・ドメインはフォームに「メールアドレス」型項目がある場合に有効です。

レビュー完了希望日

急ぎません

関連Pull requests/Issues

参考

なし

DB変更の有無

有り

追加テーブル

  • spam_lists: スパムリスト管理テーブル

追加カラム

  • forms.use_spam_filter_flag: スパムフィルタリング使用フラグ
  • forms.spam_filter_message: スパムブロック時のメッセージ
  • forms_inputs.ip_address: 投稿者のIPアドレス

チェックリスト

@masaton0216 masaton0216 merged commit aad8caa into master Jan 23, 2026
1 check passed
@masaton0216 masaton0216 deleted the feature-form-spam-filter branch January 23, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants