特殊文字のエスケープ
Web画面からの入力を確認画面に表示したり
データベースに取り込んだりする際に、特殊文字を自動的に変換する技法。
- 変換後の文字列=htmlspecialchars(変換したい文字列,オプション);
- 戻した文字列=htmlspecialchars_decode(変換された文字列,オプション);
オプションを省略すると、'や''は変換しません。
オプションに2を指定すると、'のみ変換します。
オプションに3を指定すると、'も''も変換します。
< や >、&をそのまま表示しようとするとhtmlタグ解釈されてhtml画面が壊れてしまいます。また、'や"はSQL文の区切りにも使われるため、'や''が入ったデータをそのままデータベースにデータとして保存しようとするとSQL文が解釈できずにエラーとなってしまいます。この不具合をねらってSQLインジェクションを仕掛けられる危険性もありますので、htmlspecialcharsによる変換か、mysql_real_escape_stringなどによる変換を必ずかけるようにしましょう。また文字コードはSJIS以外を使う、SQL文の変数は必ずシングルクォーテーションで囲む等の注意も必要です。
2019-07-01 (月) 11:39:41タグ: 特殊文字 エスケープ
閲覧回数 昨日:1pv TOTAL:3591pv