PHP+SQL注入浅析

PHP+SQL注入浅析

 

 

1、何为SQL注入?

2、SQL注入的方式?

3、如何防止网站被SQL注入?

 

 

SQL注入定义

    hack通过不断的尝试来获取网站的漏洞(服务器,数据库信息),拼装SQL语句实现SQL注入非法获取数据。

SQL注入方式

注入示例

① http://www.mytest.com/showdetail.php?id=49 
② http://www.mytest.com/showdetail.php?id=49 ;and 1=1 
③ http://www.mytest.com/showdetail.php?id=49 ;and 1=2 

如果不对接收到的参数id的值进行过滤的话,网站会存在被注入的风险,因为你无法预知用户输入的都是合法数据。(永远不要相信用户输入的数据)

 

存在SQL注入

① 正常显示(这是必然的,不然就是程序有错误了)
② 正常显示,内容基本与相同
③ 提示BOFEOF(程序没做任何判断时)、或提示找不到记录(判断了rs.eof时)、或显示内容为空(程序加了on error resume next

 

SQL防注入处理后

同样正常显示,一般都会有程序定义的错误提示,或提示类型转换时出错。

 

当然,这只是传入参数是数字型的时候用的判断方法,实际应用的时候会有字符型和搜索型参数

这里只做简单的介绍,具体深入的注入方式慢慢研究。

 

防注入处理

1 对于用户输入的数据进行校验,去除敏感的字符串(英文 单引号,双引号,script标签

2 对于用户输入的数据要先进行合法化处理(例如类型转换,数据范围验证),防止用户 蓄意找找网站的漏洞来获取非法数据。

3、 每个生成的php文件进行单独访问,查看数据的输出是否正常(尤其是ajax处理的php 页面)。

4、 数据传输采用加密传输,用户密码可以采用jsmd5插件进行加密传输。

5、 增加 404处理,用户输入的跳转参数错误的情况下可以直接跳转到404不显示网站的 相关信息。

6、上线前去掉php警告数据显示。



更多资料参考 http://www.php.net/manual/zh/security.database.sql-injection.php
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值