gpt4 book ai didi

sql-injection - 增加 DB INSERT 的安全性

转载 作者:搜寻专家 更新时间:2023-10-30 19:41:34 25 4
gpt4 key购买 nike

目前,我有一个 PostGIS 数据库,而且我已经掌握了基础知识。但是,我使用 pg_query 直接插入到数据库中。我被推荐使用 pg_query_params 来帮助防止 SQL 注入(inject),但我不确定如何实现它。下面是我当前用于站点位置的 insert 语句的简化示例。例如,我将如何在此示例中使用 pg_query_params?我知道我将不得不实现进一步的安全措施,但这是一个起点。

编辑:我打算使用 drupal 表单 API,但它让我头疼。我意识到这会自动完成很多这样的事情。

$sql = "INSERT INTO sites_tbl (river_id ,sitename ,the_geom) VALUES ('$_POST[river_id]','$_POST[sitename]',st_geomfromtext('POINT($geomstring)',27700))";
$result = pg_query($sql);

最佳答案

因为您使用的是字符串而不是参数,所以您的示例容易受到 SQL 注入(inject)攻击。最好避免使用 pg_ 函数。在您的情况下,您需要考虑两件事:

  • 学习 Drupal API(考虑到您正在使用 Drupal,这对于代码一致性来说是最好的

通常,除了 PDO 之外,您还使用存储过程,不幸的是,有时这是不可管理的,因为您的代码太多了。我的建议是尽可能多地使用存储过程。

关于sql-injection - 增加 DB INSERT 的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17955240/

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