网站安全-网站常见的攻击方式和预防手段

第八章 安全
一.XSS攻击:跨站点脚本攻击。
预防手段主要有以下两种
解决方案
1.消毒,对某些html危险字符转义,如>,转义为><转义为&lt等。范围使用一个最小值和一个最大值来接收。
消毒几乎是所有网站最必备的XSS防攻击手段。
https://sou.zhaopin.com/?jl=%E6%B7%B1%E5%9C%B3&sf=15001&st=25000&we=0103&kw=java&kt=3

2.HttpOnly
最早微软提出,禁止javascript访问带有httponly属性的cookie。
httponly并不是直接对抗xss的,而是防止xss的,用于存储敏感信息的cookie,防止被攻击脚本窃取。

二.注入攻击
SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者获取表结构的方式有以下几种
1.开源
2.错误回显
3.盲注
预防手段
1消毒
2参数绑定(主要手段,正确使用hibernate,ibatis等即可)
使用预编译手段,参数绑定是最好的防SQL注入方法。目前hibernate,mybatis等,都实现sql预编译和参数绑定,攻击者的恶意SQL会被当做SQL的参数,而不是命令。

三.CSRF攻击(跨站点请求伪造)
预防手段
1.表单token,springmvc如何实现
本质上是通过一些方式,返回一个token在表单页面,然后再后台统一验证和发放新token
2.验证码(非必要不推荐)
3.Referer check

// 从 HTTP 头中取得 Referer 值

 String referer=request.getHeader("Referer");

 // 判断 Referer 是否以 bank.example 开头

 if((referer!=null) &&(referer.trim().startsWith(“xxxx.xxxxx”))){

    chain.doFilter(request, response);

 }else{

request.getRequestDispatcher(“error.jsp”).forward(request,response);

 } 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值