回答編集履歴

1

検証コードについて追記

2017/06/30 02:49

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -7,3 +7,15 @@
7
7
 
8
8
 
9
9
  ならばエスケープはむしろ成功していますよね? HTMLの記号である "<" がHTMLとして処理されず**ふつうの文字**として表示されているわけですから。
10
+
11
+
12
+
13
+ ----
14
+
15
+
16
+
17
+ ためしに、フォームのメソッドを `post` から `get` にし、PHPのコードも `$_POST` から `$_GET` に変更し、フォームにエスケープされるべき文字列、例えば `<script>alert("***");</script>` と入力し送信してみましょう。
18
+
19
+
20
+
21
+ ブラウザ画面上では、入力されたとおり `ようこそ<script>alert("***");</script> さん` と表示されていますが、ここでソースを表示させてみましょう。`<p>ようこそ&lt;script&gt;alert(&quot;***&quot;);&lt;/script&gt; さん</p>` ときちんと特殊な記号がエスケープされているのが確認できます。