>>>2件の記事があります。

スパムメールに関して、その後・・・

メインサイトのフォームメールから送られてくるスパムメールは
今のところ完全にブロックできている。
スクリプトに直アクセスできなくしたのが奏功しているのだろう。
しかし、フォーム自体を直アクセス禁止にしたのは、はっきり言ってやり過ぎだった。
理由は入力の確認画面から戻ったときに、データがinputやtextareaから消えてしまうのだ。
この問題を解決するには、やはり入力フォームをhtmlに戻した方が手っ取り早い。
プログラムをかなり弄ることができるテクニックがあれば別の話だが・・・。
フォームをhtmlに戻してもスパムメールが来ないということは、
先方がスクリプトに直アクセスしていたことがはっきりした。
因みにphpで直アクセス禁止にする方法は下の通り。

<? 
$my_site = 'http://www.xxx.xxx/'; // アクセスを許可するホームページURL 
$my_site = preg_quote($my_site, '/'); 
if(!preg_match("/^$my_site/i", $_SERVER['HTTP_REFERER'])) 
{ 
echo "Don't call this script directly !!"; 
exit; 
} 
?>

上のコードを<html>の前に記述すればOKだ。

今度は迷惑メールか~

ブログのスパムコメントは「コメントは管理人の承認後に表示されます」という表示のお陰でなくなった。
その代わりとでもいうように、今度はメインサイトのフォームメールでスパムメールが届くようになった。
内容は文字化けしているので完全には分からないが、翻訳ツールにかけてみたら
バイアグラと所々出てきた。
スパムメールの原因は最近文字コードをshift_jisからutf-8に変えるためにスクリプトを
cgiからphpに替えたためだろう。
スパムメールを送る輩は絶対に自動書き込みツールを使っているので、
スクリプトに直アクセスしているに違いない。
向こうは自動で送り付けるのに、こちらは手動で消すというのでは腹立たしい。
そこで、スクリプトをちょこちこっと弄って、直アクセス禁止にしてみた。
これでもスパムメールが執拗に送られてくるのであれば、
「本当にご苦労なことで・・・」と言いたい。
つまり、フォーム自体も直アクセス禁止にしたので、向こうは態々フロントページから
アクセスして一々フォームに入力しなければならないからだ。
htmlのフォームをいかにして直アクセス禁止にするか少し悩んだが、ページごとphpに書き換えた。