数据库操作时对用户输入的非法字符进行约束

时间:2021-08-13 01:15:00
如题,在对数据库操作时,有用户输入数据的地方需要对一些特殊字符进行拦截。
1.想问下这些会对数据操作异常的特殊字符串有哪些?
2.有没有什么简单点的方法能把这些字符屏蔽掉或者提示用户。除了一个个查(find)?

5 个解决方案

#1


mfc的话,在编辑框的OnChar里判断

#2


这玩样偶做过,把你要屏蔽的字符的ASC码放在一个集合中
然后再WM_CHAR消息中遍历下,如果发现有匹配就直接返回。

PS:由于屏蔽的字符不是很多,每次遍历也就20次左右,不会影响效率

#3


更简单的做法可能是:
对于进入数据库的字段值数据,分门别类有一组对应的处理函数,在提交数据库(存储或执行)之前 总是进行数据修理和有效性检查

#4


有些数据库本身就有非常字符判断(自己定义非法字符),比如原先的foxbase数据库就有validate函数,这应该在数据库里操作语法里找,不同的数据库有不同的操作语句及语法,只要知道了是哪个操作非常字符语句就可以用SQL执行

#5


恩,结贴了~~ 

#1


mfc的话,在编辑框的OnChar里判断

#2


这玩样偶做过,把你要屏蔽的字符的ASC码放在一个集合中
然后再WM_CHAR消息中遍历下,如果发现有匹配就直接返回。

PS:由于屏蔽的字符不是很多,每次遍历也就20次左右,不会影响效率

#3


更简单的做法可能是:
对于进入数据库的字段值数据,分门别类有一组对应的处理函数,在提交数据库(存储或执行)之前 总是进行数据修理和有效性检查

#4


有些数据库本身就有非常字符判断(自己定义非法字符),比如原先的foxbase数据库就有validate函数,这应该在数据库里操作语法里找,不同的数据库有不同的操作语句及语法,只要知道了是哪个操作非常字符语句就可以用SQL执行

#5


恩,结贴了~~