cgiによる簡単なフォームを設置しています。
が、そこから海外のspamが複数送られてくるので、その回避方法を考えています。
フォームは名前、メールアドレスを送信するだけの簡単なものです。
html側のinputタグ内でmaxlengthを指定していますが、
それを超えた長さの、URLを含む宣伝が送信されてきてしまいました。
最初に送信されてから昼夜を問わずどんどん来るようになったので、
ソフトか何かで送信しているかもしれません。
入力データを直接cgiのアドレスか何かにくっつけて送っていると思うのですが、
このようなポストをはじくことはできますでしょうか?
考えられる回避方法は
・入力値に規定の文字数以上のものが入るとエラーを出す
・入力値にURLが入るとエラーを出す
など・・・
cgi側には一応、投稿時に入力データをチェックするサブルーチンがあり、
ここに何か追加する感じで上記の処理ができないでしょうか。
sub datacheck {
if (!$name) {
&Print_Error('name');
} else {
$name =~ s/?r?n|?r|?n//g;
}
if (!$email) {
&Print_Error('email');
} elsif ($email !~ /.+?@.+?..+/) {
&Print_Error('email');
} else {
$email =~ s/?r?n|?r|?n//g;
}
return;
}
IPでのアクセス制限も考えたんですが、
プロキシを通しているようなのであまり効果がなさそうです。
前述のようにガンガン送られてくるので、
他のまっとうな投稿が読みにくくなったり、
ログファイルがめちゃくちゃになってしまうので、とても困っています。
perlの技術力は、切り貼りができる初心者程度なのですが・・
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
自分の経験上、一番効果があると思えるのは「合い言葉」です。
SPAMMERな連中は、botなどのソフトで自動送信してくるので、「投稿に人手が必要」なのが一番の苦手です。何でもイイから、人間が考えて手で入力させる欄を1つ設けるだけで効果があります。掲示板スパム対策 で説明されている他の対策も一通り施してみましたが、
- これまでで一番の効果が上がっているのが「合い言葉」。「合い言葉」として、簡単な足し算引き算の式を表示して、答えを入力してもらうやり方をしています。これを初めて以来、SPAM投稿は1度もなく、一方、まっとうな投稿はきちんと入ってきています。
- ついで、「メッセージ内へのURLの書き込みを禁止する」。
- つぎが「URL(http://~)の複数書き込みを禁止」。2回以上は禁止、というのでも結構効果あり。ただ、最近はURLの偽装やURLを書いてこないSPAM投稿も多い。
- 海外からのSPAM投稿に対しては、「NGワードの書き込みを禁止」もそれなりに効果ありですが、NGワードもころころと変えてきますし、日本語のSPAM投稿には対処が難しいのが難点。
- 「掲示板へ直接アクセスした場合の投稿を禁止する 」のには余りひっかかるSPAMMERはいないようです。
No.1
- 回答日時:
こちらが投稿spamに関する情報がまとまっていて、
改造コードのサンプルなどもあります。
掲示板とメールフォームでは違いもありますが参考になると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- Ruby パイソンプログラミング 2 2022/12/03 18:44
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LotusScript メール作成方法が...
-
server errorで困ってます。
-
テストってどこまで?
-
【vba】フォームに書いてあ...
-
Excel VBAでリンク切れをチェッ...
-
モジュールとクラスの違いって...
-
Linuxのcronとrc.localでの制御...
-
VBA This Workbookモジュール...
-
Excel VBA 『Call』で呼び出す...
-
グラフのX,Y座標を取得したい
-
Excelで時刻になったら知らせて...
-
Visual Basicプログラムのエラ...
-
モジュールの最大数はいくつな...
-
Friend は標準モジュールじゃ宣...
-
Excel VBA 標準モジュール内で...
-
XML::Parser::Expat が無い?
-
Excel VBAで、ユーザーフォー...
-
例外処理のフローチャートの記...
-
cronでのPerlスクリプト実行
-
LCD ディスプレイを Raspberry ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでoutlook365が起動しません。
-
Net::SMTPでメールを送信したい...
-
BASP21使用のメール送信でコマ...
-
Perl メール 文字化け
-
【C言語】メールを送信するプロ...
-
VBAでsmtp認証をするには?
-
プロキシ経由でjavamailを使っ...
-
C#のメール送信時のエラーについて
-
javamailでメール送信ができません
-
VBScriptで、メールの送信をし...
-
LotusScript メール作成方法が...
-
メールボックスの確認フォーム...
-
フォームで入力されたデータを...
-
Perl 初心者 メール確認画面に...
-
CDO.Messageを使ったVBScript
-
foreachでのメール一斉送信処理...
-
フォームデータ-の送信時の確認...
-
添付ファイルをつけてメールを送る
-
空メールシステムについて
-
例外処理のフローチャートの記...
おすすめ情報