gpt4 book ai didi

php - sql语句和pdo

转载 作者:行者123 更新时间:2023-11-29 05:29:01 25 4
gpt4 key购买 nike

有一个 pdo 包装器类使用以下方法关闭仿真或准备好的语句:

setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

我看到一些 sql 语句是使用标准的非参数化方法编写的,如下所示:

select * from table where name = '".$name."'. 

即使使用了 pdo 包装器,这些语句是否也能防止 sql 注入(inject)?

最佳答案

你防止注入(inject)的想法是完全错误的。

它不是 PDO 只是因为它的存在(它可能会受到某些包装器的干扰)保护您的查询,但准备好的语句

只要您使用的是准备好的语句,您的查询就是安全的,无论它是 PDO 还是包装器,甚至是糟糕的旧 mysql ext。

但是如果您直接将数据放入查询中,就像在您的示例中一样,根本没有保护

关于php - sql语句和pdo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16748364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com