フルスタックエンジニアのノウハウ

DBから取り出したデータを表示する場合もXSS対策は必要?

DBから取り出したデータを表示する場合もXSS対策は必要?

HTMLエスケープ処理をするのは、フォームから受け取った値($_POST['item_text']など)だけでよろしいでしょうか?データベースから取り出した値を表示する場合は、そのまま表示しても問題ないですか?

 

というご質問を頂きました。

XSS対策は画面表示時に対策するのが基本になります。
データベースから取り出した値を表示する場合にもXSS対策が必要です。

DB登録前にスクリプトコードなどを変換してしまうことも可能なのですが
ユーザーの入力データをシステムが勝手に改竄してしまうことになるため
一概には良いとは言えません。

したがって、ユーザーが入力したデータはそのままDBに保存し、
それを表示する際にエスケープ処理を行います。

無料メルマガ配信中