【PHP】内容に日本語が含まれているかを調べる方法

2012-10-18    93   127

メールフォームならメールアドレスは見えないのでスパムは届きにくくなるが、最近内容が英語だけのスパムメールが届くようになった。簡単な処置として、内容に日本語が含まれているかを調べて、英語だけの場合は送信しないという分岐を追加することに。

どうやって全角の文字があるかどうか調べるかというと、文字数を数える『strlen関数』と『mb_strlen関数』を使用して、マルチバイトが含まれているかどうかを調べます。

<?php
if(strlen($body) == mb_strlen($body,'utf8')) {
    //全部英語(全てシングルバイト)
}else{
    //日本語が含まれている(マルチバイトを含む)
}
?>

2019-07-31報告 スパム対策に関しては最新の記事があります


reCAPTCHA v2

フォームのBot対策で有名なのは無料で使用ができるgoogle様の「reCAPTCHA(リキャプチャ)」というサービス。設置が比較的簡単なので、システムに詳しくない人でもreCAPTCHAは設置できると思います。

問い合わせフォームからのスパムをGoogle reCAPTCHAを導入で一網打尽!スパム来なくなりました!


フリーランス生き抜き術 案件の取り方
フリーランス最大の難関は案件をいかにしてとってくるか。
意外と簡単で手堅い独自のやり方があるのでご紹介します。

comment このページの内容についてご意見がございましたらご協力お願いします。

お名前とコメントは入力必須です。

コメントの文字数が短すぎます。

この内容でコメントを送る
コメントをする
この記事がお役に立てましたら是非シェアのご協力お願いします。