Представьте себе эту простую форму
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
<fieldset>
<legend>Contact Me</legend>
<label for="email">Email:</label>
<input type="text" name="email" id="email" />
<button type="submit">Submit</button>
</fieldset>
</form>
Теперь представьте, что к ней обращаются через form.php?hack=" onsubmit="alert('xss')
Вывод при просмотре источника:
<form action="/things/?hack=%22%20onsubmit=%22alert(%27xss%27)" method="post">
Что такое кодировкаэто - это браузер или PHP?
Вне любопытства я всегда повторяю $_SERVER['REQUEST_URI']
в htmlspecialchars()
.