防范手段javascript
除了重放攻击,有可能客户端的快速点击也会重复发送请求,在服务端能够用上面的方法处理,客户端可使用节流和防抖限制html
攻击形式一:前端
攻击形式二:vue
xss攻击分类:java
防范:react
.innerHTML
、.outerHTML
、document.write()
以及vue和react的v-html
/dangerouslySetInnerHTML
CSP(content security policy)数据库
攻击类型:后端
<form action="http://bank.example/withdraw" method=POST> <input type="hidden" name="account" value="xiaoming" /> <input type="hidden" name="amount" value="10000" /> <input type="hidden" name="for" value="hacker" /> </form> <script> document.forms[0].submit(); </script>
防范策略:api
同源检测:利用请求头的Origin和Referer,能够在meta或csp中设置referer policy,控制请求是否带referer跨域
CSRF Token:构造一个攻击者没法获取的token,在请求时带着这个token访问服务器,不能放在cookie中,而是做为报文body的一部分
双重cookie验证:利用没法跨域获取cookie的限制,在访问页面时往cookie添加一个csrfcookie的随机数,后续发起请求时,页面获取该cookie,并设置到请求参数里,后续验证,服务器只须要验证cookie中的值和请求里的参数是否一致便可
samesite cookie:新的提案
Set-Cookie: xxx; Samesite=Strict
,则该cookie除了从自身网站下发起请求,其他包括新页面打开,或不一样域名下的异步请求,都不会带上cookieSet-Cookie: xxx; Samesite=Lax
,当这个请求是从自身网站下发起的请求,或者打开了新页面,如从百度打开某个页面,同时他是个get请求,那么容许带上cookie