Вот мой ответ.php
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Simple page</title>
</head>
<body>
<p><?php echo $_REQUEST[name]; ?></p>
</body>
</html>
Ничего слишком сумасшедшего. Это просто упрощенная версия моего проблемного блока кода из моего реального приложения. Если я вызову его вместе с параметром GET, используя URL-адрес:
http://localhost/something/response.php?name=foo
Тогда он будет отображать только это:
foo
Проблема в том, что когда я пытаюсь передать "" (кавычки) или ' (апостроф) как часть параметра, страница ответа автоматически добавит \ (backspace), как управляющий символ.
Итак, если я попытаюсь вызвать страницу, используя:
http://localhost/something/response.php?name=foo"
а также
http://localhost/something/response.php?name=foo'
Затем он будет отображать:
foo/"
а также
foo/'
соответственно
Похоже, что затронуты только " (кавычки) и ' (апостроф). Другие символы, такие как ‹, >, ( или ) не вызывают проблем. Даже & (замененный на %26) работает нормально. это уже день, но все еще далеко от понимания этого.
urlencode
- person apokryfos   schedule 25.09.2018"
на%22
? - person brombeer   schedule 25.09.2018