gpt4 book ai didi

javascript - Jquery 正则表达式

转载 作者:行者123 更新时间:2023-12-02 19:52:30 24 4
gpt4 key购买 nike

我想在我的 SQL 中搜索特定模式,以便它仅以 SELECT 开头,而不以 INSERT 、 UPDATE 、 DELETE 开头。

我如何使用 JQuery 来实现这一点,我想使用 JQuery 来对字符串进行不区分大小写的匹配。

编辑

我也想考虑子查询。

因此我的要求是查询不应在任何地方包含任何 INSERT 、 UPDATE 、 DELETE 语句。它应该只包含 SELECT 语句

最佳答案

我将使用白名单,而不是黑名单:

function isValidQuery(str) {
return /^select\s+([a-z_*]+,?)+\s+from\s+[a-z_]+$/i.test(str);
}

这只匹配SELECT field, [field, ...] FROM table 形式的查询。这也可以扩展为允许某些类型的 WHEREGROUP BY 说明符。如果这还不够,您还可以使用更严格的黑名单:

function isValidQuery(str) {
if (/delete|update|insert|truncate|create|drop/i.test(str)) return false;
// possibly more excluding rules...
return true;
}

如果你想用这个来保护你的数据,我当然不会依赖第二种方法,因为它可能可以被规避(你忘记了一个危险的命令,SQL走私,......)很多 更好的方法是创建一个专用数据库用户,该用户仅对您希望通过此接口(interface)可用的表具有读取访问权限。

关于javascript - Jquery 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9110622/

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