【发布时间】:2014-08-12 12:48:49
【问题描述】:
是否应该对 PHP 标头位置进行编码?
header("Location: ".$_SERVER["REQUEST_URI"]);
header("Location: ".rawurlencode($_SERVER["REQUEST_URI"]));
如果是,为什么、何时以及如何?
【问题讨论】:
标签: php http http-headers
是否应该对 PHP 标头位置进行编码?
header("Location: ".$_SERVER["REQUEST_URI"]);
header("Location: ".rawurlencode($_SERVER["REQUEST_URI"]));
如果是,为什么、何时以及如何?
【问题讨论】:
标签: php http http-headers
如果您的网址中有一些特殊字符(在RFC1806 中定义),您只需对其进行编码。特别是您应该使用以下字符对所有 URL 进行编码:{}|\^~[]`(从 RFC1738 开始)
【讨论】:
REQUEST_URI 是否需要编码,或者在传递到服务器时是否已经需要编码?我应该使用rawurlencode() 编码吗?
REQUEST_URI。这取决于您的要求,无论何时您需要 rawurlencode 或 urlencode。可以在此处找到详细答案:stackoverflow.com/questions/996139/urlencode-vs-rawurlencode@JulianReschke 在 5.3 PHP 之前使用 RFC1738,但您是对的。