gpt4 book ai didi

sql - SQL WHERE 子句的正则表达式

转载 作者:行者123 更新时间:2023-12-02 05:22:13 27 4
gpt4 key购买 nike

对于 Web 应用程序,我想构建一个 WHERE 子句并将其提交到服务器。在那里我会将它附加到查询中。该子句类似于

LASTNAME LIKE 'Pep%' AND (DOB BETWEEN '19600101' AND '19601231 OR SALARY<35000)

在将子句提交给 SQL Server 之前,你能提出一个正则表达式来验证它吗?

(是的,当然,我想要 ORDER 子句的正则表达式)

最佳答案

这是一个非常糟糕的主意。我建议您构建一个过滤器系统,而不是让用户可以在表单中选择各种选项,然后构建正确的 sql 服务器端,而不是让自己暴露在各种注入(inject)攻击之下。

作为可能出错的示例,请考虑以下内容:

LASTNAME LIKE 'Pep%'--
DROP TABLE People
--

这会将 DROP TABLE 命令注入(inject)到您的 SQL 中,这将很难检测到。您当然可以删除诸如 -- 和/* 之类的内容,但我保证如果您这样做,有人可以找到办法。

关于sql - SQL WHERE 子句的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/204746/

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