这是我的response.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>
没有什么太疯狂了。这只是我实际应用程序中有问题的代码块的简化版本。如果我使用url连同GET参数一起调用它:
http://localhost/something/response.php?name=foo
然后它将仅显示:
foo
问题是当我尝试将“”(引号)或“(撇号)作为参数的一部分传递时,响应页面将自动添加\(退格),就像它是转义符一样。
因此,如果我尝试使用:
http://localhost/something/response.php?name=foo"
和
http://localhost/something/response.php?name=foo'
然后它将显示:
foo/"
和
foo/'
分别
似乎只有“(引号)和'(撇号)受到影响。其他字符(如<,>,(或)没有问题。即使&(用%26替换)也可以正常工作。已经为此工作了一天,但距离了解还很遥远。