ココに注意
もう10年以上も前に設置したメールフォームになります!
スパムメール攻撃に何度か遭遇
ホームページのメールフォームに投稿があった時に、メールとFAXでお知らせしてもらうような仕組みにしていました。
その時に、設置が簡単そうだったので、「PerlMailer Ver.3.02 」といcgiプログラムをWEBサーバーの方に設置しました。
Sendmailを使うプログラムで本当に設置の方もシンプルで簡単に設置できました。
設置して10年以上が経過して、数年前から何度かスパムメールが来るようになりました。
ココがダメ
文字化けしたメールが、短時間に500通程きました!
これは、メールフォームから送信しているメールの数ではないですね。
何らかの方法で乗っ取られて機械的にメールを送信されているようです。
こんな感じのスパムメール被害が過去にもありましたが、スグになくなり、忘れた頃に被害に遭遇します。
早く対応すればよかったのですが、一度設置したcgiプログラムを使ったメールフォームを新しいプログラムに変更するのは意外とメンドクサイ作業なのですよね。
しかし、そんな事は言ってられないので対応してみました。
本当は、外部リンク型のメールフォームがいい
こんなスパムメール被害に遭遇して自分で対応するのはメンドクサイので、本当は外部リンク型のメールフォームが便利で簡単だと思います。
ただ、自分で仕組みを設置しなくて良い分、アカウント作成したり、有料だったり、広告が入ったりとデメリットもあります。
自分の場合は、ほとんどが、WordPressを使っており、「Contact Form 7 」というプラグインを使用しています。
WordPress自体もセキュリティ対策の為、頻繁に更新アップデートしていますが、更に、プラグインで、「Akismet」や「Invisible reCAPTCHA」などを使用してスパム対策をしています。
自分でレンタルサーバーを借りてホームページを運営しているような場合は、WordPressを使ってしまった方が簡単だと思いますが、オリジナル性を持たせるために、HTMLから作成したような場合は、メールフォームも自分で設置しなければなりません。
今回は、cgiプログラムを使ってメールフォームを設置してしまったので、なんとかスパムメール対策をしたいと思います。
メールフォームプログラム探し
ネット検索して無料のメールフォームを探しましたが、ニーズが無いせいか使いやすそうなプログラムが無いのですよね。
そんな中、kent-webさんの、「POST-MAIL」という無料のメールフォームプログラムを見つけました。
プログラムをダウンロードして解凍すると、結構なファイル数とフォルダが存在していました。この時点で設置するテンションが下がりますが、頑張って設置してみました。
結論的には、文字化けが自分のスキルでは解決しませんでした。JISとかEUCとかいろいろと文字コードの保存を試してみましたが、原因不明です。
そして、見つけたのが、cgiではなく、phpのメールホームプログラムになります。
PHP工房さんの、「【MailForm01】PHP多機能メールフォーム フリー(無料)版」です。
ダウンロードは何も考えずに、Shift_JIS版をダウンロードしてしまいましたが、PHPと相性が良くないというのを後から気づきましたが設置後だったので障害が出た時に入れ替えたいと思います。
ココがおすすめ
ファイル数がサンプルHTMLとPHPプログラムの2個
メールフォームのプログラムの方は、1個だけなので本当にシンプルですね。
【MailForm01】PHP多機能メールフォーム設置
メールフォームのHTMLも修正しないといけないのですが、
ココがおすすめ
PerlMailerを使っていた状態からHTMLの修正が簡単
必須項目だけのnameを一致させるだけで、ほぼ、PerlMailerのメールフォームHTMLと変わりません。プログラムの入替が簡単です。
PHPプロムラムの方は、中身の数ヶ所を自分用に変更するだけでした。
そしてスパムメール対策として、ポイントなのが、ドメインチェックがることですね
少なくても、このメールフォーム以外からメールを送信する事が出来なくなるのではないかと考えます。
つまり、機械的に外部からメールを送り付けられなくなると期待しています。
まとめ(FAX転送が迷惑)
このメールホームの仕組みとして、FAX転送サービスを使っていました。
なのでスパムメール約500件を食らうと、上の映像のようになり、ほとんどは送信エラーになりますが、数分間の間に、10件程度はFAX送信されてしまいました。
実際に、紙が無駄になりましたので本当に困ります。
教訓として、古すぎるcgiプログラムのメールフォームは使わない方が良いという事を記憶したいと思います。
プログラムの方に、セキュリティ対策をされているような物なら実験もできますが、PerlMailerのような古すぎて作者のホームページも無くなっているような骨董品は使わない方が無難ですね。
【MailForm01】PHP多機能メールフォーム フリー(無料)版に変更してスパムメールが無くなる事を期待していますが、ダメな時は報告します。