Symfony 中的 REQUEST 是不是比“标准”PHP 中的更安全?
Posted
技术标签:
【中文标题】Symfony 中的 REQUEST 是不是比“标准”PHP 中的更安全?【英文标题】:Is it safer REQUEST in Symfony than in "standard" PHP?Symfony 中的 REQUEST 是否比“标准”PHP 中的更安全? 【发布时间】:2018-12-24 06:24:05 【问题描述】:我正在关注 Symfony 初学者的业余在线等级,但我刚刚进入了讲师使用 REQUEST 管理 GET 和 POST 请求的部分。在标准 php 中,由于安全问题,REQUEST 的使用被忽略。
这几乎就是问题所在,以防万一我在做一个愚蠢的问题,我将其上下文化。如果在此之前成绩被完美驱动,我不会问,只是相信这是 Symfony 中的一个很好的做法,但这不是我第一次注意到这个人的编程中有奇怪的习惯,所以我不知道这是否是一个好主意了。
【问题讨论】:
"In standard PHP, the use of REQUEST is disregarded due to security issues."
。你在哪里读到的? $_REQUEST 只是一个包含 get、post 和 cookie 数据的超全局变量。请求数据本身并没有什么不安全的,您只需要正确使用它即可。我链接了一个关于 SQL 注入的副本,因为这是无效使用请求数据的罪魁祸首。
How can I prevent SQL injection in PHP?的可能重复
也可以打开你的 XSS 注入。但是COOKIE
、POST
和GET
有同样的问题。
我知道你可以清理 REQUEST,但它是否比使用 POST 和 GET 更安全?
为什么会“不安全”?在你看来,是什么让它不安全?它只是一个包含 Web 服务器提供的数据的变量。如果它如此不安全,您不认为它... 不会在第一时间以该语言提供吗?这是您对数据执行的操作,而不是您从哪里读取数据。另外,我想支持德文的评论——你写的不是真的,$_REQUEST
不会因为安全问题而被忽视,它只是一个包含$_POST
和$_GET
内容的变量。
【参考方案1】:
使用$_REQUEST
并不比使用$_GET
或$_POST
更安全。它们包含相同的数据。但这是另一个原因。
Standard practice in Symfony is to use the Request
interface to get query arguments。没有理由在 Symfony 应用程序中使用像 $_REQUEST
这样的超全局变量——教程这样做的事实表明他们实际上可能不太了解该框架。
【讨论】:
以上是关于Symfony 中的 REQUEST 是不是比“标准”PHP 中的更安全?的主要内容,如果未能解决你的问题,请参考以下文章