目前,我有一个PostGIS数据库,我有基础工作。但是,我使用pg_query
直接插入数据库。我被建议使用pg_query_params
来帮助防止SQL注入,但我不确定如何实现它。以下是我当前insert
网站位置声明的简要示例。例如,我如何在此示例中使用pg_query_params
?我知道我必须实施进一步的安全性,但这是一个起点。
$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);
答案 0 :(得分:5)
因为您使用的是字符串而不是参数,所以您的示例很容易受到SQL注入的攻击。最好避免pg_
功能。在您的情况下,您需要考虑两件事:
或
通常,除了PDO之外,您还使用存储过程,但遗憾的是,由于代码太多,有时这是不可管理的。我的建议是尽可能多地使用存储过程。