提问人:Pekka 提问时间:2/6/2010 最后编辑:Pekka 更新时间:2/6/2010 访问量:446
标头中使用的 URL 的卫生:位置?
Sanitation for URL used in Header: Location?
问:
在多步骤表单流程中,我收到一个 URL 作为表单字段。
处理后,我的PHP脚本使用重定向到该地址header("Location: ...");
除了可能被滥用为色情网站的重定向服务以在电子邮件中生成看起来无害的链接(开放重定向,可以通过将 URL 与本地域匹配来提供帮助)之外,在此过程中是否有任何黑客/利用危险需要注意?
我想到的一件事是将换行符偷运到 URL 中,这可能会打开向客户端发送任意标头的可能性。
答:
3赞
rook
2/6/2010
#1
在旧版本的 PHP 中,您必须担心 CRLF 注入,即 \r\n。这是一个“标头响应拆分漏洞”。如果你去掉这些字符,那么你就不必担心了。在最新版本的 PHP 中,header() 函数是安全的,并且会自动为您处理 \r\n。
评论
0赞
Pekka
2/6/2010
干杯@Michael。你知道这是哪个版本改变的吗?
下一个:检测用户何时单击链接,但中止
评论