- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章sql关键词脚本检查正则表达式的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
sql拼装过程中有时候需要把特殊外部的参数拼装到sql语句中去,若不检测外部传入的参数是否含有sql关键词,黑客利用系统这个漏洞注入sql脚本语句进行数据库删除或盗取数据资料.
sql关键词脚本检查正则表达式 。
1
|
\b(
and
|
exec
|
insert
|
select
|
drop
|
grant
|
alter
|
delete
|
update
|
count
|chr|mid|master|
truncate
|
char
|
declare
|
or
)\b|(\*|;|\+|'|%)
|
Java语言 。
1
2
3
4
5
6
7
8
9
10
|
/**
* 是否含有sql注入,返回
true
表示含有
* @param obj
* @
return
*/
public
static
boolean containsSqlInjection(Object obj){
Pattern pattern= Pattern.compile(
"\\b(and|exec|insert|select|drop|grant|alter|delete|update|count|chr|mid|master|truncate|char|declare|or)\\b|(\\*|;|\\+|'|%)"
);
Matcher matcher=pattern.matcher(obj.toString());
return
matcher.find();
}
|
单元测试 。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
@Test
public
void testContainsSqlInjection(){
boolean b1=SqlUtils.containsSqlInjection(
"and nm=1"
);
assertEquals(
"b1不为true"
,
true
,b1);
boolean b2=SqlUtils.containsSqlInjection(
"niamsh delete from "
);
assertEquals(
"b2不为true"
,
true
,b2);
boolean b3=SqlUtils.containsSqlInjection(
"stand"
);
assertEquals(
"b3不为false"
,
false
,b3);
boolean b4=SqlUtils.containsSqlInjection(
"and"
);
assertEquals(
"b4不为true"
,
true
,b4);
boolean b5=SqlUtils.containsSqlInjection(
"niasdm%asjdj"
);
assertEquals(
"b5不为true"
,
true
,b5);
}
|
总结 。
以上所述是小编给大家介绍的sql关键词脚本检查正则表达式,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的! 。
原文链接:https://www.cnblogs.com/songshuai/archive/2019/06/13/11017291.html 。
最后此篇关于sql关键词脚本检查正则表达式的方法的文章就讲到这里了,如果你想了解更多关于sql关键词脚本检查正则表达式的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
当我说这个 using (Entities db = new Entities()) { return db.TableName.AsQueryable().ToList(); } 因为返回了
它应该表现得像Delicious toolbar对于 Firefox 来说;它列出了可能要点击的标签。效果如下图: 代码应该能够找到文本的关键词。有什么好的算法或者开源项目推荐吗? 我找到了 this
我刚刚在市场上上传了我的第一个应用程序。一切顺利,看起来很好。我尝试了几个关键词来搜索它,这些词在我的描述和促销文本中也有,但有些词找不到我的应用程序,有些却找到了。 关键字策略如何在市场上的应用程序
我已经开始在我的提交消息中使用对 Maniphest 任务的引用,这对于自动关闭任务等非常有用。 我发现这个页面有很多关键词,但我很好奇是否有更多或任何关于如何使用它们的文档。 https://pha
我在 Qt 文档中遇到过这段代码: Counter a, b; QObject::connect(&a, &Counter::valueChanged, &b, &C
有人可以确认这是否确实是一个错误吗? (如果是这样,我将离开并将其提交给 Apple)。 尝试获取 kAudioSessionProperty_AudioRoute 在 4.3 之前的任何版本的模拟器
目前我正在使用它来搜索我的词典数组(来自 plist 文件): for(NSDictionary *wine in mainArray) { NSString *wineNam
我是一名优秀的程序员,十分优秀!