ひたすら鬱陶しいスパムメール。

一番よいと勘違いされるのが、ネットに公開しなかったり、
誰にも教えないと、まぁこないと思うが、それだと本末転倒というか、
ただの馬鹿なので、対策を考えることが重要なのである。

というか、うちの学校のBlogを新規開発するのに、
学校のメールアドレスを表示させることもさせないことにもできる仕様にしたけど、
メールアドレスを入力すると、動的にメールリンクを自動生成することが要請された。
ところが、メールアドレスをそのままダイレクトに表示させると

<a href = "mailto:ahoaho@me.com">mailto</a>
なんということ

ソースコードにahoaho@me.comとばればれなメールアドレスを表示してくれるので、
スパムロボットに検知されてしまうので、暗号化しないといけない。

非常に面倒な作業だが、セキュリティ対策とは、そういう難しい技術が必要なのである。

というわけで、あれこれ考えて、やっぱりHTMLエンティティ化すればいいかと思った。
でもエンティティを自動的にクロールするやつもあるかもしれん。とか思い、シーザー暗号にしてやろうと思った。
でも、一から構築するのは面倒だなあと思っていたら


http://www.is.titech.ac.jp/~yanagis0/javascript/caesarAddress2.html


こんなページを発見。
をををシーザー暗号つかってっるっすね。DESは使っていないのかな。
まぁこいつを使おうとする。ところが、これはjavascriptで書かれている。
それでいいんだけど、PHPで動的に作成しようと思ったら、

  1. メールアドレスを入力する
  2. PHPがデータベースに登録
  3. PHPがデータベースを参照
  4. PHPがHTMLに変換してメールアドレスを表示

でいうところの2番のところで、メールアドレスが生で流れるのでjavascriptが生かせるのは4番だけなのである。

なので、PHPに移植する必要あり。
ややこしいが、
動的に暗号されたメールアドレスを表示するjavascriptを動的に作らないといけないのである。

で、作ってみた。
それがこれ。

http://caitest.yh.land.to/mailcrypt.php

基本的に元のjavascritpのパクリなのですが。これは後数年間は使えそうなソフトになりそうな予感。

ちなみに、シフト-JIsではバケラッタだったので、EUCで書いた。
もしかするとブラウザで化けるかもしれない。その時は、文字コードEUCに設定しよう。

ここからわかる人にはわかる欄
!"#$%&'()<>{}||
どうなるかな〜