php

PHP フォーム入力された文字エスケープ

PHPでフォームを作る場合、INPUTやTEXTAREAを使いますが、そこから受け取る内容はエスケープする必要があります。受け取ったまま表示したり、DB登録なんかをしてしまうと、思わぬトラブルにみまわれることになります。

最低でも以下の4つはエスケープが必要。

& → &
< → < > → >
” → "

PHPでのエスケープ関数サンプル。

[php]// 入力値表示エスケープ
function invalueescape($str) {
$str = preg_replace(‘/&/’,’&amp;’,$str);
$str = preg_replace(‘/</’,’&lt;’,$str);
$str = preg_replace(‘/>/’,’&gt;’,$str);
$str = preg_replace(‘/"/’,’&quot;’,$str);
return $str;
}[/php]

POST送信などで受け取った値(仮に$post_val)をエスケープするには、上記のファンクションを記述したファイル内で、以下のようにします。

[php]$post_val = invalueescape($post_val);[/php]

参考サイト
http://hodade.adam.ne.jp/itmemo/index.php?WEB%2FPHP%2F%A5%D5%A5%A9%A1%BC%A5%E0%C6%FE%CE%CF%C3%CD%A4%CE%A5%A8%A5%B9%A5%B1%A1%BC%A5%D7

cosmetic surgery chicago