防止sql注入之美
2021/6/17 19:30:08
本文主要是介绍防止sql注入之美,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
所谓sql注入,就是通过输入请求,把sql命令插入到sql语句中,以达到欺骗服务器执行恶意sql命令的目的。假设服务端要获取玩家数据,可能使用如下的sql语句。
string sql="select *from player where id="+id;
正常情况下该语句能够完成读取数据的工作。但如果一名恶意玩家注册了类似"haomei";delete *from player;"的名字,这条sql语句将变成下面两条语句。
select *from player where id = haomei;delete *from player;
执行这样的sql语句后,player表里面的数据都被删除了,后果不堪设想。如果把含有分号,逗号等特殊字符的字符串判断为不安全字符串,在拼装sql语句前,对用户输入的字符串进行安全性检查,就可以有效防止sql注入。使用正则表达式编写判定安全字符串的方法IsSafeStr,它将把含有 “ -;,\/()[]}{%@*!' ”这些特殊符号的字符串判定为不安全字符串,代码如下:
//判定不安全字符串 public bool IsSafeStr(string str) { return !Regex.IsMatch(str,@"[-|;|,|\/|\(|\)|\[|\]|\{|%|@|\*|!|']"); }
这篇关于防止sql注入之美的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器