首页 >后端开发 >php教程 >为什么在 PHP 中使用 `$_REQUEST` 有风险?

为什么在 PHP 中使用 `$_REQUEST` 有风险?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-20 07:01:13748浏览

Why is Using `$_REQUEST` in PHP Risky?

使用 $_REQUEST 的危险:虚假的便利

虽然 $_REQUEST 变量可以提供暂时的缓解,但它掩盖了一个根本问题:可能会导致潜在的安全漏洞和错误

过多 Cookie 包含的陷阱

与表单提交参数($_GET 和 $_POST)不同,cookie 是不同的实体,不应以相同的方式处理方式。默认情况下,$_REQUEST 结合了所有三个源:$_GET、$_POST 和 $_COOKIE。当 cookie 名称与表单参数重合时,这可能会导致冲突,从而导致该参数被 cookie 的值覆盖。

当多个应用程序驻留在同一个网站中时,这可能会特别成问题,因为它可能会导致到无意的形式故障。即使只有少数用户维护旧 cookie,后果也可能难以预测且难以诊断。

降低风险

为了避免这些陷阱,建议避开 $_REQUEST。在需要组合 GET 和 POST 数组的场景中,最好手动组装它。

在 PHP 5.3 及更高版本中,您可以通过设置 request_order 配置来更改 $_REQUEST 的默认行为以排除 cookie到“GPC”。但是,如果这不可行,手动构建组合数组仍然是更安全的方法。

以上是为什么在 PHP 中使用 `$_REQUEST` 有风险?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn