前回までの記事を読んで頂いてXSSについてある程度理解されたかと思う。今回はこの対策について記事を書いていきたい。
まずXSSの対策としてWEBサイトの入力フォームへの入力データから、HTMLタグJavaScript、SQL文など検出し、それらを他の文字列に置き換える機能が必要になる。これはサニタイジング(無害化)と呼ばれる。実際にどのようなコードを書くのか?自分はサーバサイドスクリプト言語でPHPを良く使うのでPHPで書くとまず以下のコードなど有効であろう。
$value = htmlspecialchars($value,ENT_QUOTES);
上記のコードは、入力フォームで入力されたデータをPHPのhtmlspecialchars関数で処理をしている。htmlpecialchars関数は"<"や"&"の文字を"<"や"&"に変換してくれる関数だ。htmlspecialcharsにENT_QUOTESを付けたのはシングルクォートもサニタイジングする為である。
XSSについて記事を書いてきたが、これがウェブデザイン技能検定の問題集に出題されていたので、試験を受ける方は用語の意味ぐらいはチェックしておいたほうがいいであろう。
コメントする