繁体   English   中英

$ _SERVER ['QUERY_STRING']与|

[英]$_SERVER['QUERY_STRING'] with |

我在PHP脚本中使用$_SERVER['QUERY_STRING'] 我的查询字符串?e+e正常工作,但?e|e无效。

我的PHP脚本很简单:

<?php
echo $_SERVER['QUERY_STRING'];
?>

为什么没有| 工作? 我似乎可以使用| 如果我不使用$_SERVER['QUERY_STRING']

如果要在浏览器中手动添加管道符号,则可能会发生这种情况

尝试这样做:?e%7Ce

您需要对|进行编码 %7C符号。 那么它将起作用。 $_SERVER['QUERY_STRING']将自动对其进行解码。

这不是QUERY_STRING的正确原因“ |” 不允许使用符号。 RFC 2396 2.3。

Data must be escaped if it does not have a representation using an
unreserved character; this includes data that does not correspond to
a printable character of the US-ASCII coded character set, or that
corresponds to any US-ASCII character that is disallowed, as
explained below.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM