【发布时间】:2011-03-23 09:30:54
【问题描述】:
本质上,我正在开发基于 PHP 的 CMS,并且希望为插件基础架构添加额外的安全层。目前作者必须使用传统的方法来保护他们的 SQL 子句,这没有问题。
CMS 接受不同部分的查询,而 WHERE 子句是其中的一部分。作为附加的安全层,我想做的是,在将 WHERE 子句添加到语句之前,让系统进行快速正则表达式检查以确保子句有效。
where 子句的公式已经用方括号括起来,所以我认为它只是确保...
引号外的括号数量相同
没有悬挂引号
第一个括号不是右括号
最后一个括号不是左括号
没有 cmets
请记住,这只是一个附加层,以防插件作者忘记了他的咖啡并且没有清理他的输入。这听起来像一个理智的解决方案吗?是否有任何与我描述的类似的正则表达式?这是我最讨厌的一件事。
【问题讨论】:
-
+1:清理用户提供的 SQL 不适合胆小的人