Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 请求变量是否需要PDO中的参数化查询?_Php_Url_Pdo - Fatal编程技术网

Php 请求变量是否需要PDO中的参数化查询?

Php 请求变量是否需要PDO中的参数化查询?,php,url,pdo,Php,Url,Pdo,我知道,当用户提交的数据四处游荡时,参数化查询是必不可少的,但我的问题是,这是否适用于用户可篡改的数据 因此,如果我们有一个url,比如…/?id=1,那么是否有必要使用$id编写任何语句,或者url编码是否会消除威胁 JoeUrl编码无法消除威胁 用户可以触摸到的任何东西都应视为不安全和潜在威胁。您可以按id进行查询,因此不验证它并直接将其推入查询仍然会导致与根本不使用PDO相同的注入问题。Url编码不会消除威胁 用户可以触摸到的任何东西都应视为不安全和潜在威胁。您可以按id进行查询,不验证它

我知道,当用户提交的数据四处游荡时,参数化查询是必不可少的,但我的问题是,这是否适用于用户可篡改的数据

因此,如果我们有一个url,比如…/?id=1,那么是否有必要使用$id编写任何语句,或者url编码是否会消除威胁


Joe

Url编码无法消除威胁


用户可以触摸到的任何东西都应视为不安全和潜在威胁。您可以按id进行查询,因此不验证它并直接将其推入查询仍然会导致与根本不使用PDO相同的注入问题。

Url编码不会消除威胁

用户可以触摸到的任何东西都应视为不安全和潜在威胁。您可以按id进行查询,不验证它并直接将其推入查询中仍然会导致与根本不使用PDO相同的注入问题。

为什么不在存在外部/变量输入的所有情况下使用预处理语句/参数化查询

您唯一可以信任的查询是那些每个元素都是硬编码的查询,或者从应用程序中的硬编码元素派生的查询

甚至不要相信从自己的数据库中提取的数据。这算作外部/可变数据。复杂的攻击可以使用比简单修改查询字符串参数更多的向量

我认为,尽管额外的代码开销很小,但如果知道您的查询受到保护,您就完全可以放心了。

为什么不在有外部/变量输入的所有情况下使用预处理语句/参数化查询呢

您唯一可以信任的查询是那些每个元素都是硬编码的查询,或者从应用程序中的硬编码元素派生的查询

甚至不要相信从自己的数据库中提取的数据。这算作外部/可变数据。复杂的攻击可以使用比简单修改查询字符串参数更多的向量


我认为,尽管额外的代码开销很小,但如果您知道您的查询受到保护,那么您就完全值得放心。

任何来自外部源的数据都应该参数化。虽然在id示例中,可以通过简单地将其转换为整数来安全地处理它。必须以这样或那样的方式进行清理的内容包括但不限于$\u GET、$\u POST、$\u COOKIE和隐式$\u REQUEST、$\u SERVER、$\u ENV、从文件读取的任何数据、从数据库读取的任何数据。是的,我确实认为它需要准备,这是有意义的!谢谢所有的书、文章、博客,。。。你会在上面读到这样一句话:永远不要相信网络。因此,不能信任请求参数。是的,它需要准备来自任何外部源的任何数据都应该参数化。虽然在id示例中,可以通过简单地将其转换为整数来安全地处理它。必须以这样或那样的方式进行清理的内容包括但不限于$\u GET、$\u POST、$\u COOKIE和隐式$\u REQUEST、$\u SERVER、$\u ENV、从文件读取的任何数据、从数据库读取的任何数据。是的,我确实认为它需要准备,这是有意义的!谢谢所有的书、文章、博客,。。。你会在上面读到这样一句话:永远不要相信网络。因此,不能信任请求参数。是的,它需要准备