小説サイト運営支援ツールを公開する【小説HTMLの小人さん】の管理人のブログ。ツール開発記録やβ版の公開、HTMLやCSSのテクニック、小説サイト運営に関係するニュースなど。>>2005年03月08日メールフォームのソースから自分のアドレスを見られない方法プロバイダやレンタルのメールデコードサービス(メールフォーム)で、htmlのなかに自分のメールアドレスを書くタイプのものがありますね。niftyや、私も使っているぷららなどもそうです。このタイプのフォーム、自分のメールアドレスがわかってしまうから使いたくないというかたも多いと思います。サイトにアドレスを書かなくても受け取れるのがメールフォームの利点のひとつなのに、ソースを見ればわかってしまうというのでは、たしかに嬉しくないですね。回避手段としては、メールアドレスをhtml内に書かなくていい他のレンタルサービス(私がよく紹介しているFormMailerなどもそのタイプです)や、フリー配布のCGIを使うという方法が考えられるのですが、「無料レンタルは広告が出てしまう」「機能に不満がある」「CGI設置は出来ないサーバーだ」など、アドレスの問題がなければプロバイダ提供サービスを使いたいという人もいるでしょう。そこで、Javascriptを利用して「ソースを見られても、自分のアドレスを知られにくくする方法」を考えてみました。※あくまでも「知られにくい方法」であって「絶対わからない方法」ではありません。1.フォームのソースを全て外部Javascriptで書き出す。フォーム部分のソースをコピーして、テキストエディタに貼り付けます。VALUE="クリア"></TD>');document.write('</TR>');document.write('</TABLE>');document.write('</FORM>');こんな感じで、1行ごとにdocument.write('');で挟んでやり、そのファイルを拡張子jsで保存します。src="form.js"></script><noscript>Javascriptでフォームを表示しています。</noscript>のようにしてJavascriptを呼び出します。これで、元のページのソースを見ただけでは送り先のアドレスがわからなくなりました。Javascriptを無効にしている人にはメールフォームそのものが見えなくなっています。方法を知っている人なら簡単にform.jsの中身を見ることが出来ます。2.ダミーのアドレスを書いておき、送信時に正しいメールアドレスを書き込むソース内にはダミーのアドレスを書いておき、フォームの送信のタイミングで、正しいアドレスに書き換える方法です。テキストエディタに下記の関数を書いて、拡張子jsで保存します。'正しいメールアドレス';}※["to"]には、お使いのデコードサービスで、メールアドレスを記述する部分のname属性を入れます。ぷららですと「to」(http://www.plala.or.jp/access/community/phps/cgi_main.html参照)、@niftyだと「to_mail」(http://homepage.nifty.com/mail/sample.htm参照)等となります。このjsファイルをフォームを置いたhtmlから呼び出します。呼び出し方は1を参照してください。head内でもbody内でも構いませんが、フォームのタグより先に書く必要があります。続いて、メールフォームの<form>タグにonsubmit="SendCheck(this)"と書き加えます。onsubmit="SendCheck(this)">この方法のメリットは、ぱっと見てアドレスを隠していることがわからないことですね。SendCheck関数に、ついでに未入力チェックのスクリプトも一緒に仕込んでみたりすると更に効果的です。この方法を使う場合、Javascriptを無効にしている人が使うと、ダミーのアドレスにメールを送ろうとしてしまいます。でたらめなアドレスを書いてしまうと他人に迷惑をかけてしまう可能性があるので、知られても構わないフリーの別アドレスを入れておくか、空欄にしておくなど、工夫してください。3.メールアドレスを暗号化するこれはすでにいろいろな場所で紹介されている方法なので、ここでは解説しません。検索してみてください。[必須入力]※画像の中の文字を半角で入力してください。SummarySeesaaブログ×この広告は180日以上新しい記事の投稿がないブログに表示されております。