是美元引用在Postgres足以逃避恶意输入?



美元引用是否足以防止恶意输入,如SQL注入?

例如:

SELECT * FROM mytable WHERE title = $secret$ hack'-- $secret$

用户输入

hack'--

不,当然不是,因为黑客可以输入包含$secret$的字符串。

你的建议被称为"模糊安全",在安全专家中不受尊重。例如,它根本不能在开源软件上工作。

幸运的是,PostgreSQL和所有相关的api都有函数使SQL语句的安全构造变得简单。

最新更新