美文网首页unity3D技术分享征服Unity3dUnity技术分享
Jtro的技术分享:游戏服务器端防止Sql注入

Jtro的技术分享:游戏服务器端防止Sql注入

作者: UnityPlane | 来源:发表于2017-12-11 17:56 被阅读51次

所谓的sql注入,就是通过输入请求,把sql命令插入到sql语句中,已达到欺骗服务器的目的。
假设服务器端要获取玩家的数据,可能使用如下的sql语句

string sql = "select *from player where id = " + id ;

当然,在正常情况下该语句能够完成读取数据的工作,但如果一名玩家恶意注册了类似的

"xiaoming;delete *form player"

这样的名称,这条sql语句将会变成下面两条语句。

select *from player where id = xiaoming ;delete *form player ;

执行了这样的语句之后,player表中的数据将会全部清空,后果不堪设想。如果把含有逗号、分号等特殊字符判定为不安全字符,在拼装sql语句前进行安全检测,就可以有效的防止sql注入
代码如下:

//判定安全字符
public bool IsSafeStr (string str)
{
return !Regex.IsMatch (str ,@"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}

相关文章

  • Jtro的技术分享:游戏服务器端防止Sql注入

    所谓的sql注入,就是通过输入请求,把sql命令插入到sql语句中,已达到欺骗服务器的目的。假设服务器端要获取玩家...

  • Mybatis如何防止SQL注入

    Mybatis如何防止SQL注入 什么是SQL注入 sql注入是一种代码注入技术,将恶意的sql插入到被执行的字段...

  • idea搭建 mybatis框架

    {}方式能够很大程度防止sql注入,${}方式无法防止Sql注入。 SELECT deptno,dname,loc...

  • php面试题

    防止SQL注入简单回答:防止——利用即有的应用、功能,将(恶意)SQL命令发送到到后台数据库引擎。 防止SQL注入...

  • sql注入风险

    SQL注入攻防入门详解 如何从根本上防止 SQL 注入 教您使用参数化SQL语句 参数化查询为什么能够防止SQL注...

  • JDBC进阶 & BeanUtils组件简介

    预编译sql处理(防止sql注入) Statement : 执行SQL命令CallableStatement : ...

  • php面试题

    防止SQL注入 简单回答:防止——利用即有的应用、功能,将(恶意)SQL命令发送到到后台数据库引擎。 防止SQL注...

  • 防止sql注入

    1、php.ini配置中magic_quotes_gpc 将用户输入的单引号' 会自动转义成 ' 2、addsla...

  • 防止SQL注入

    防止SQL注入的方式: 1.开启配置文件中的magic_quotes_gpc和magic_quotes_runti...

  • 防止sql注入

    以php语言为例,概述编码过程中的sql注入过程,注入可能涉及 存储过程 、sql语句、关键字等方式,本篇只介绍s...

网友评论

    本文标题:Jtro的技术分享:游戏服务器端防止Sql注入

    本文链接:https://www.haomeiwen.com/subject/mdqwixtx.html