gpt4 book ai didi

php - PHP 的 DateTime 类是否从 SQL 注入(inject)中转义日期

转载 作者:可可西里 更新时间:2023-11-01 12:47:47 25 4
gpt4 key购买 nike

通常,我使用 PDO 的准备语句,类型转换为 (int),或 PDO::quote() 来防止 SQL 注入(inject)。对于这个应用程序,我需要在将它添加到查询之前使用 PHP 修改日期。我是否需要采取额外的步骤来防止 SQL 注入(inject),或者我安全吗?谢谢

$date = new DateTime($_GET['suspect_user_provided_date']);
$date->add(new DateInterval('P1D'));
$sql='SELECT * FROM table WHERE date<"'.$date->format('Y-m-d').'"';

最佳答案

DateTime 对象是否安全并不重要。您应该转义传递给查询的数据,而不是依赖所提供库的安全性。如果更改实现,则无需关心新实现是否安全。你应该总是逃避。否则,您将尝试回答并记住每个函数的 SQL 安全吗?对于 HTML?对于 CSV?用于 http/邮件 header ?因为……不要!发送查询的代码行应该对 DateTime 实现以及它是否安全一无所知

关于php - PHP 的 DateTime 类是否从 SQL 注入(inject)中转义日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14462958/

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