什么是SQL注入
有些朋友刚刚接触SQL编程,对SQL注入表示不太了解。现在在这里介绍一下什么是SQL注入和怎么预防。
操作方法
(01)首先介绍什么是SQL注入。SQL注入是指在编程中SQL语句中参数可以通过客户端传递到数据库中执行,由于对传递内容过滤不严谨,导致SQL执行出现非预期结果。现在举例说明SQL注入。
(02)我们现在要做一个用户登录框。可以输入用户名和密码,如果用户名和密码正确就可以成功登录,否则登录失败。界面如下:
(03)在验证用户名和密码中可能会出现如下语句。
(04)语句中用户名和密码会客户端传入参数。如果正常输入,那么用户名和密码正确,就会提示【真不错,恭喜你又过了一关!】。
(05)问题出现了。此段代码中对用户输入没有进行任何的过滤和字符转换。那如果我们用户名和密码都传入 【' or '' = '】(不包含中括号,相信我,此用户名密码绝对不是保存的正确用户名和密码),会出现什么样的结果呢?
(06)结果就是一样会提示恭喜又过了一关。为什么会这样呢?那么现在我们来分析一下。在后台程序,我们用SQL 【select * from 2user where yhm='"& a &"' and mima='"& b &"'】 验证用户名和密码。其中a和b为用户填写的用户名和密码,不明白的可以参看第二张图片整个后台验证代码。
(07)如果我们输入的用户名和密码都为【guosange】,那么组合后SQL结果是【select * from 2user where yhm='guosange' and mima='guosange'】。但是如果我们用户名和密码输入为【' or '' = '】,那么组合后SQL结果为【select * from 2user where yhm='' or '' = '' and mima='' or '' = ''】。这个SQL其中有【or '' = '' 】,这个判断导致整条SQL语句的Where条件永远为True,导致可以查出表【2user】的所有记录。从而登录成功。喜欢尝试的朋友也可以试试在用户名输入【' or '' --】,密码随意输入也可以达到效果。
(08)这就是SQL注入。通过输入一些特殊字符,改变了你SQL语句本来的目的,达到额外的效果。那么我们应该怎么预防呢?其实很简单,只要我们禁止用户输入一些特殊字符,或者后台对这些特殊字符进行转换,或者SQL语句都写为存储过程,这样就可以避免被SQL注入攻击了
-
人民币符号怎么打¥ word插入人民币符号?
人民币符号怎么打?我们在工作的时候,有时候需要在电脑上输入“¥”这个人民币符号,然而很多用户不知道该怎么输入,这给工作带来了很大的不便。其实人民币符号的输入方法很简单,下面小编给大家介绍几种输入方法。操作方法(01)使用输入法工具在中文状态下,使用Shift+$/4键,...
-
iOS7越狱后怎么恢复
iOS7越狱可能会出现各种各样的原因,白苹果、系统bug、无法识别手机助手等各种故障,这些问题都会让我们想将越狱后的iOS7恢复到原始状态。那么,我们该如何恢复越狱后的iOS7系统呢?iOS7越狱后恢复方法(01)首先,第一步要做的是下载固件包,在本经验页面底部【参考资料】内...
-
微信openid获取教程
用微信支付平台发放红包必须上传用户的微信openid,想要导出微信openid可以按以下步骤来做。操作方法(01)进入微信openid导出平台,根据下图1更新列表;2刷新粉丝信息;3导出数据;(02)获得的微信平台openid数据如下(03)把openid拷贝到t型台文件里,格式如下。(04)导入到微信商户平...
-
怎么在qq空间制作腾讯认证图标
在自己的空间添加腾讯认证图标,图标无法下载的找我拿QQ704396659操作方法(01)1.先下载【腾讯认证标识】:单击右键,复制图片就可以。。。(02)2.上传空间:点击“设置”(图中标注的地方),再选择“修改资料”,再选择“空间资料”(在左下方)。接下来,让空间名称的前面留一个空格,用Q...