メインサイトのフォームメールから送られてくるスパムメールは
今のところ完全にブロックできている。
スクリプトに直アクセスできなくしたのが奏功しているのだろう。
しかし、フォーム自体を直アクセス禁止にしたのは、はっきり言ってやり過ぎだった。
理由は入力の確認画面から戻ったときに、データが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だ。