Php 在postgresql中,字符串以“(引号)开头,以$txt$结尾

Php 在postgresql中,字符串以“(引号)开头,以$txt$结尾,php,sql,database,postgresql,sql-injection,Php,Sql,Database,Postgresql,Sql Injection,我有一个带有一些安全模式的PHP应用程序,以防止程序员使用PHP pg_scape_字符串进行SQL注入。我是一名安全分析师,今年我的工作被破坏了。我需要找到一种方法来传递引用 例如: 在sql命令中: 从表中选择*,其中字段=$par,两个=$par2 SQL注入: 从owner.table中选择*,其中字段='0'或1=1;-'和2=值 使用sql命令中的pg_scape_字符串: 从owner.table中选择*,其中varcharfield='0或1=1;-'和2=值 如何在没有引号的情

我有一个带有一些安全模式的PHP应用程序,以防止程序员使用PHP pg_scape_字符串进行SQL注入。我是一名安全分析师,今年我的工作被破坏了。我需要找到一种方法来传递引用

例如: 在sql命令中: 从表中选择*,其中字段=$par,两个=$par2

SQL注入: 从owner.table中选择*,其中字段='0'或1=1;-'和2=值

使用sql命令中的pg_scape_字符串: 从owner.table中选择*,其中varcharfield='0或1=1;-'和2=值


如何在没有引号的情况下关闭where字段='0

为什么你对报价有问题?替代方案将更加复杂且容易出错。因为在SQL数据库中,我不能使用引号,安全模式不会让它通过。我认为您应该使用一个不那么愚蠢的安全工具。编写一个正确引用字符串的函数会增加复杂性,这不利于安全性。使用准备好的语句是一种选择吗?