メールアドレスの掲載方法② Javascriptで暗号化

カテゴリー:

9月になりましたね。本日は防災の日。
ということで、Webサイトの防災という意味で、スパムメールへの対策を考えます(無理やり)。

前回エンティティ化したものをエディターでも記述できるようにショートコードにしてみる、というやり方を提案しましたが、そのときに「それって対策として不十分でしょ」ということも合わせて書いていました。

なぜなら、エンティティ自体は割と簡単に元に戻せてしまうからです。
メールアドレスを収集しているロボットもいろいろでしょうが、エンティティぐらいでは対策にならない、という意見も聞きます。

より高度な対策としてあげられていたのがJavascriptでの暗号化です。

前回参考URLとして記載したサイトで生成が可能です。
http://www.luft.co.jp/cgi/coding.php

これはもちろん直接WPのエディターでは入力不可なので、この場合はテンプレートに書く、などの利用方法になると思います。筆者は自作関数にしてテンプレート内で使う、という方法を取っています。※適切かどうかは検証していませんのでサンプルコードの記載は控えます。

ちなみに、上記の方法も、前回紹介したエンティティでの方法も、あくまでメールアドレス収集ロボットへ向けた対応ですので、人間がメールアドレスを収集しようとした場合や人為的ないたずら行為については全くの無力ですので、あらかじめご了承ください。

この後は蛇足になりますが、メールアドレスを掲載する理由ってなんだろう、と考えました。
もちろん、メールでお問い合わせする可能性を設けておく、ということと思いますが、それってどんな場合だろうか。急を要する問い合わせの場合は悠長にメールしないだろうし、予約なんかもメールより電話の方が良い場合もあるかもしれない。メールでなければならない場面も、往々にしてあると思うけれど・・・ちょっと具体的な想像が乏しい。採用のエントリーとか?でもそれはもうすでにメールフォームが必要っていう域な気がしますし。

メールアドレスの収集は、上記の通り、完全には防げないです。ただロボットによる収集が困難であればスパムメールが送られる可能性は低くなるので、有用な対策と言えます。昨今、人力でメールアドレスを収集しているとも思えませんし。ただし、やはり悪意のある人が自分のブログやSNSなどでメールアドレスを掲載するなどした場合は同じことでしょう。

ならばメールフォームにしてしまってはどうか、という場合。これなら確かに、メールアドレスは公開されないのでロボットに収集されることもありません。悪意の人物によるいたずらは防げませんが、それは、言ったらきりがないです。善意と悪意の人間を見分けることはできないので。

ただし、これでありがちなのが「メールフォームならSSL通信が必要だ!」という風になることだと思います。その場合、これも調べて納得したのですが、サーバとブラウザの通信をSSLと暗号化で保障したとして、サーバーからメールを平文(暗号化されていない通信)で送ったのなら同じことだよね、ということのようです。(以前にプログラマさんにも同じ指摘をされたような記憶がありますが、ころっと忘れていました。)
参考にしたのは右のサイト。http://blog.ks-product.com/contact-form-ssl/

(コメントでご指摘いただいたので、追記です。上記の参照サイトで「SSLではサーバーとメーラー間の暗号化はサポートされません。」と記載があるのですが、「フォームをSSLで暗号化してもサーバーとメーラー間の暗号化はされません。メールのSSL暗号化が別途必要です。」というのが、正確なところだそうです。詳しくはコメントをご確認くださいっ。2015.09.07追記)

えーでも、メールって暗号化されないのー??と思って調べてみたのですが、ちょっとこれがよくわからず。誰か詳しい方ご教授くださいませ。
メールフォームの場合はメールの内容を安全なサーバーに留め置き、メールで送るのは「問い合わせがありましたよ」のお知らせだけで、問い合わせ内容はサーバ、データベースで暗号化された環境で確認する、ということになるようです。ちなみに、FTPも平文で通信だとか。SFTPやFTPSなどを利用のこと。

だので、メールフォームにSSL通信が必要か?ということになってくると、メール自体が平文で通信しているなら、メール送信の代案としてのメールフォームにSSLって必要なくないですか、って思う。
暗号化されてないなら「暗号化してないです」って示した上で、個人情報を書き込まないでください、とやるしかなくないか。それでも構いませんな問い合わせもあるわけで(例えば取材の申し込みとか?)それ以外の場合は結局「電話でやりとり」になっちゃうんじゃないの、と思ってしまう。上記で参考にあげたサイトで書いているのも、そういうことなんだと思う。
もちろん、「SSLとかいらなくないですか」っていうのは、機密事項や重要な個人情報とかではない内容に限った話であって、会員登録とか、先にあげた採用のエントリーとか、ショッピングになってきたら話は全く別で、暗号化とかセキュリティとか厳しく考えないといけないと認識してます。

脱線しましたが、メールアドレスを掲載する、とかお問い合わせフォームの設置とかって、なんとなく、その辺の「お客様とのやりとり」みたいなのを具体的に描いてから検討しないと、のせておけばいい、みたいなのってどうなんだろうって思ってしまう。連絡先として「載せておかなきゃいけない」程度だったら、画像で良いわけじゃないですかね(操作性悪いけど、逆にメールで問い合わせ来てほしくないという意思は示せるかもね!)。どうしてもメールで問い合わせしたい人は、たとえ画像だったとしても、舌打ちしつつ、メールすると思う。少なくとも私はそうだ。

どう想定して何を選ぶかっていうことって、どの程度考えればいいものでしょうねーと思ったのでした。

投稿日:

最終更新日:

投稿者名: