gpt4 book ai didi

PHP 和 PostgreSQL : Avoiding cross-site scripting and SQL injection attacks

转载 作者:行者123 更新时间:2023-11-29 12:57:23 24 4
gpt4 key购买 nike

当通过 PHP 将数据插入 PostgreSQL 数据库时,我应该将数据嵌入函数 pg_query 中的 sql INSERT 语句中,还是通过数据通过数组进入pg_insert函数?

我的猜测是 pg_insert,因为它只是将数据直接插入表中,而不是先查询表再插入。

请访问http://php.net/manual/en/book.pgsql.php供引用这2个功能。

最佳答案

为避免 SQL 注入(inject),您希望调用接受 SQL 参数作为方法参数的方法。这样,您的SQL 库 就可以确保参数被正确转义。切勿通过“附加”字符串片段来构建您自己的 SQL 语句。如果这样做,您有责任对参数进行 SQL 转义。这很难做到正确。

因此,您应该更喜欢 pg_query_params(或 pg_insert)而不是 pg_query

这是错误的(因为必须记住转义 $arg1 参数。这很难。):

pg_query("INSERT INTO TABLE ... VALUES " . $arg1 . ";");

对(因为 PostgresQL 的聪明人知道如何转义您的参数):

pg_query_params("INSERT INTO TABLE ... VALUES $1", "FooBar");

关于PHP 和 PostgreSQL : Avoiding cross-site scripting and SQL injection attacks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39731533/

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