回答編集履歴
1
検証コードについて追記
answer
CHANGED
@@ -2,4 +2,10 @@
|
|
2
2
|
|
3
3
|
「そのまま表示」というのがウェブブラウザの画面で、`ようこそ<田中>さん` みたいに表示されるという事でしょうか?
|
4
4
|
|
5
|
-
ならばエスケープはむしろ成功していますよね? HTMLの記号である "<" がHTMLとして処理されず**ふつうの文字**として表示されているわけですから。
|
5
|
+
ならばエスケープはむしろ成功していますよね? HTMLの記号である "<" がHTMLとして処理されず**ふつうの文字**として表示されているわけですから。
|
6
|
+
|
7
|
+
----
|
8
|
+
|
9
|
+
ためしに、フォームのメソッドを `post` から `get` にし、PHPのコードも `$_POST` から `$_GET` に変更し、フォームにエスケープされるべき文字列、例えば `<script>alert("***");</script>` と入力し送信してみましょう。
|
10
|
+
|
11
|
+
ブラウザ画面上では、入力されたとおり `ようこそ<script>alert("***");</script> さん` と表示されていますが、ここでソースを表示させてみましょう。`<p>ようこそ<script>alert("***");</script> さん</p>` ときちんと特殊な記号がエスケープされているのが確認できます。
|