递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 5018|回复: 5
打印 上一主题 下一主题

[视窗] 正则表达式匹配和寻找文本的速度

[复制链接]

91

主题

490

帖子

2059

积分

金牌会员

免费版体验专员

Rank: 6Rank: 6

积分
2059
跳转到指定楼层
楼主
发表于 2022-4-23 14:42:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
SQL 语句为了防止注入,需要对传回来的数据进行处理.
我用了文本分割,然后寻找文本等命令去判断的,请问这样是不是效率不高啊?
这样和正则表达式匹配哪一个效率高一点?


评分

参与人数 1金钱 -5 贡献 -5 收起 理由
fengyishen -5 -5 淡定

查看全部评分

非主流编程软件/非官方指定的/非正式版体验专员
回复

使用道具 举报

87

主题

952

帖子

4899

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4899
沙发
发表于 2022-4-23 16:12:38 | 只看该作者
防止SQL注入..不是这样弄的...
把 '  转义一下就可以了
回复

使用道具 举报

91

主题

490

帖子

2059

积分

金牌会员

免费版体验专员

Rank: 6Rank: 6

积分
2059
板凳
 楼主| 发表于 2022-4-23 16:39:03 | 只看该作者
小蜗牛 发表于 2022-4-23 16:12
防止SQL注入..不是这样弄的...
把 '  转义一下就可以了

客户端拼装了部分sql语句,然后服务器去执行.  部分语句在拼装的时候就加上了' .防注入处理' 就行了?这么简单吗?

非主流编程软件/非官方指定的/非正式版体验专员
回复

使用道具 举报

91

主题

490

帖子

2059

积分

金牌会员

免费版体验专员

Rank: 6Rank: 6

积分
2059
地板
 楼主| 发表于 2022-4-23 17:27:28 | 只看该作者
本帖最后由 Fang0x378 于 2022-4-23 17:30 编辑

测试了一下,循环1000次,一个用子文本替换和文本查找,一个用正则,还是文本操作快一点,正则匹配要慢一点.循环100次看不出来明显差别.
非主流编程软件/非官方指定的/非正式版体验专员
回复

使用道具 举报

87

主题

952

帖子

4899

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4899
5#
发表于 2022-4-23 17:48:47 | 只看该作者
Fang0x378 发表于 2022-4-23 16:39
客户端拼装了部分sql语句,然后服务器去执行.  部分语句在拼装的时候就加上了' .防注入处理' 就行了?这么简 ...

sql永远不要让客户端拼接...
回复

使用道具 举报

91

主题

490

帖子

2059

积分

金牌会员

免费版体验专员

Rank: 6Rank: 6

积分
2059
6#
 楼主| 发表于 2022-4-23 17:53:12 | 只看该作者
小蜗牛 发表于 2022-4-23 17:48
sql永远不要让客户端拼接...

没办法,C/S结构, 把所有数据分开传递回去的话,功能多了之后,工作量太大了.我是写了一个中间件,发给服务器去提交.
客户端不是完全拼接成sql,是拼接部分. 比如 cha询条件就拼一个 字段1='aaa',ID=100 ,到服务器之后再二次分割,拼接. 在服务器二次过滤非法字符
非主流编程软件/非官方指定的/非正式版体验专员
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-25 00:15 , Processed in 0.095877 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表