• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メールフォームのデータチェック)

メールフォームのデータチェックとは?

このQ&Aのポイント
  • メールフォームのデータチェックについて教えてください。
  • 具体的なエラーチェック方法としてstrip_tags()、htmlspecialchars()、addslashes()が使われていますが、他にもするべきチェックはありますか?
  • メールフォームで文字化けしたテキストや他言語の入力に対してどのようにエラーを処理すべきか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nick9090
  • ベストアンサー率26% (102/378)
回答No.1

>strip_tags() これは場合によっては必要なデータまで削除しちゃうこともあるので、私なら使いません。 >htmlspecialchars() これはフォームから入力時には関係ありません。HTMLへの出力時に用いるものです。私はstrip_tags()を使わない代わりに、これを絶対に使用します。 >addslashes() これを使うよりは、SQLエスケープ関数(mysql_real_escape_stringなど)を使うほうがより良いです。理由は長くなるので省きます。もしご自分で理由が推測できないようでしたら、絶対にSQLエスケープ関数のほうを使ってください。 >韓国語、中国語などをエラーに たとえば「PHP 日本語 正規表現」でググってみてください。 >このチェックはしておかないとまずい ・期待した文字数以下であるか。 ・期待した文字の種類(数字だけ、英字だけ、など)であるか。 ・(できれば)実体参照文字をアンエスケープする。 ・htmlspecialchars関数は、引数を正しく設定してよりセキュアに。 ・mb_language("ja"); や、 mb_internal_encoding("EUC-JP"); などを確実に設定しておく。 ・ini_set関数で、default_mime_typeやdefault_charsetも指定しておくと安心。 ・データチェックの主旨からはちょっと外れるが、CSRFのチェックもすべき。

関連するQ&A