xssとは、攻撃者が送り込んだ悪意のコードをそのページを閲覧した不特定多数のユーザに、スクリプト(簡易的プログラム)として実行させる可能性があることを指す
別のWebサイトにユーザを誘導することがクロスサイトの由来となっている
test.php
<!DOCTYPE html>
<html lang="ja">
<head>
<script type="text/javascript">
document.cookie = "test=HelloWorld";
</script>
<meta charset="utf-8">
<title>XSSテスト-入力画面-</title>
</head>
<body>
<h1>入力画面</h1>
<form action="confirm.php" method="post">
<label for="username">Name:</label>
<input type="text" style="width:290px;" name="name"><br/><br/>
<input type="submit" value="確認">
</form>
</body>
</html>
confirm.php
$name = $_POST['name']; echo $name;
テスト文字コード
'';!--"<XSS>=&{()}``\"
<script>alert(1);</script>
"><script>alert(1);</script>
### 対策後
$name = htmlspecialchars($_POST['name'], ENT_QUOTES, "UTF-8"); echo $name;
フレームワークによってエスケープ方法は異なる