嗯,我真的无法确定任何不安全因素,但想知道你是否可以,如果可以,如何修补/修复?
代码如下:
header("Location: http://example.com/search/{$_POST['term']}/{$_POST['type']}");
我重定向的网站也在他们这边进行验证和清理,但我担心的是 - 这种重定向是否以任何方式不安全(在我这边 - 看到我正在使用直接$_POST
's).
感谢所有帮助。
PS:只是感到好奇,因为我一直认为使用未经消毒的用户输入是危险的(或者至少适用于 XSS 和 SQLi)。
总的来说,对于大多数运行现代版本 PHP 的网站来说,它是安全的.
目前有两个问题:
- 恶意用户可能会诱骗受害者无意中访问表单的任何页面
/search/*/*
通过将它们链接到恶意页面,该页面会通过您的重定向 POST 到该页面。 (请注意,它们不限于后面只有两个斜杠/search
因为它们的 POST 变量可能包含斜杠。)这类似于向某人提供一个缩短的 bit.ly URL 来重定向他们,所以这还不错。
-
HTTP 响应拆分。如果恶意用户包含换行符(具体来说,CRLF /
\r\n
)在他们的POST数据中,他们可能会导致你header()
调用输出多个header,包括设置cookie的header等。但是,从 PHP 5.1.2 开始这已被修复.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)