- ベストアンサー
Perl・CGIによるフォールメールについて
以前にも似たような質問をさせて頂いたのですが、もう少し詳しいことまで教えて下さい。m(._.=)mぺコ ホームページからメールをもらえるよう、アドレスを公開していたのですが、迷惑メールが多いため、対策を検討しています。 CGI(Perl)によるフォームメールにした場合、SPAMメールなどの迷惑メール防止策となるのでしょうか? そのまま公開していると、悪質プログラムに拾われてしまう為、画像にするとよいと聞いたのですが、フォームメールではどうなのでしょうか? 皆さんのご意見をお聞かせ下さい。 よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。#3です。 補足を拝見しました。この形式ですと、メールアドレスは.cgiのファイルに書かれていて、HTMLのソースを見ても書いてありませんね。それでしたら、メールアドレスを収集するプログラムから見られることはありません。一応、SPAM防止になります。 #ただし、SPAMを送る人が適当に作り出したものが偶然ヒットした場合は、どうにもなりませんので。念のため。 (その場合は、メーラーで振り分けをするか、迷惑メール対策をしっかりしてくれるメールアドレスを使うようにするかでしょうね) よいメールライフを送れますように。
その他の回答 (3)
- nemu-neko
- ベストアンサー率37% (45/119)
こんにちは。 プロバイダが用意しているメールフォームは、ソースを見るとメールアドレスが書かれていたりする物があります。(私の知っている限りでは、@nifty、So-net、Hi-HOがこれにあたります)これでは、ご希望のSPAM防止にはなったく意味がありません。 ですので、メールフォームを使用する場合は、公開されているCGIのメールフォームを使用されるのがよいかと思います。 ただし、使われているプロバイダ(もしくはホームページスペース)が、sendmailを使えるCGIを使わせてくれる場合に限ります。 画像で記入すると、メールアドレスを収集するプログラムでは、そのアドレスを読み取ることが出来ません。また、JAVA SCRIPTを使用したりする方法もあります。 #もっとも、#3の方の言われたアスキーコードを解読してしまうロボットや、JAVA SCRIPTも解析出来るロボットが今後増えないとは限りませんが
補足
nemu-nekoさん、ありがとうございます。 契約しているプロバイダ(ホームページスペース)で、Sendmailが使えるため、CGIを設置してHTML内には、フォームで <FORM METHOD="POST" ACTION="http://***/postmail.cgi"> ***** </FORM> という形で作成しているのですが、このような場合はどうなのでしょうか? アドバイスお願い致します。
- kerokerori
- ベストアンサー率27% (14/51)
あと、HTMLソース上でメールアドレスの @ を @ とアスキーコードを使用して表示させるだけでもSPAMのロボット避けなら十分だと思います。 <a href="mailto:test@.ne.jp">test@.ne.jp</a> ↑こんな風。 メールアドレス収集ロボットは@で検索しているものが多いそうですよ。 CGIを使用するなら、HTML上にメールアドレスを記入するタイプではなく プログラム中にメールアドレスを記載するタイプをお使いになるといいと思います。 CGIを使用しても、HTMLのソースにメールアドレスを記載してしまうとロボットが読んでしまうので対策としては不十分です。
補足
kerokeroriさん、ありがとうございます。 契約しているプロバイダ(ホームページスペース)で、Sendmailが使えるため、CGIを設置してHTML内には、フォームで <FORM METHOD="POST" ACTION="http://***/postmail.cgi"> ***** </FORM> という形で作成しているのですが、このような場合はどうなのでしょうか? アドバイスお願い致します。
- yutopapa
- ベストアンサー率47% (139/295)
フォームメールにしたところで、HTMLの中にメールアドレスが書き込まれていますから、これをロボットで収集してSPAMを送りつけるようにする事は可能だと思います。 ですのでSubjectなどを工夫して(CGIから送っている事を特定出来る件名にする、とか)メールフィルタでブロックする措置は必要でしょう。
補足
yutopapaさん、ありがとうございます。 契約しているプロバイダ(ホームページスペース)で、Sendmailが使えるため、CGIを設置してHTML内には、フォームで <FORM METHOD="POST" ACTION="http://***/postmail.cgi"> ***** </FORM> という形で作成しているのですが、このような場合はどうなのでしょうか? アドバイスお願い致します。
お礼
nemu-nekoさん、再びありがとうございました。 よくわかりました。