【PHP】内容に日本語が含まれているかを調べる方法
2012-10-18 701 1783メールフォームならメールアドレスは見えないのでスパムは届きにくくなるが、最近内容が英語だけのスパムメールが届くようになった。簡単な処置として、内容に日本語が含まれているかを調べて、英語だけの場合は送信しないという分岐を追加することに。
どうやって全角の文字があるかどうか調べるかというと、文字数を数える『strlen関数』と『mb_strlen関数』を使用して、マルチバイトが含まれているかどうかを調べます。
<?php
if(strlen($body) == mb_strlen($body,'utf8')) {
//全部英語(全てシングルバイト)
}else{
//日本語が含まれている(マルチバイトを含む)
}
?>
2019-07-31報告 スパム対策に関しては最新の記事があります
フォームのBot対策で有名なのは無料で使用ができるgoogle様の「reCAPTCHA(リキャプチャ)」というサービス。設置が比較的簡単なので、システムに詳しくない人でもreCAPTCHAは設置できると思います。
問い合わせフォームからのスパムをGoogle reCAPTCHAを導入で一網打尽!スパム来なくなりました!
フリーランス最大の難関は案件をいかにしてとってくるか。
意外と簡単で手堅い独自のやり方があるのでご紹介します。