HTTP1.1(十三)浏览器为什么要有同源策略

一  同源策略

①  浏览器同源策略铺垫

1) 浏览器为了避免不同域名下,不同站点下脚本或资源相互访问'产生安全问题'所以浏览器有了同源策略

2) cookie含有用户的'隐私'信息,浏览器要'防止'不同的站点读取'对方'的cookie信息

3) 有了同源策略,又因为'可用性',又有了'跨域访问'的需求

②  为什么需要同源策略

1) 只有'地址栏'才是'用户主动'发起请求的

2) 其它的都是'浏览器渲染引擎'的行为

3) 会'导致'下面的'问题'

③  没有同源策略下的Cookie两种场景

④  浏览器的同源策略

⑤  跨域的可用性安全性

 nginx如何判断一个请求是不是Ajax异步请求  

⑥  CSRF跨站请求伪造攻击

⑦  如何防止CSRF攻击

HTTP杂谈之Referrer-Policy响应头

思考:怎么'防止'CSRF?  --> "三种策略"

1)通过Referer'简单'判断,不是我本站页面,我就'拒绝'

备注:但是如果浏览器'不是很规范',没有Referer浏览器就'没有办法'处理了

2) CSP响应头通过'限制'浏览器加载的资源,也可以一定程度上避免'CSRF'攻击

内容安全策略-CSP  跨域资源共享- CORS

方式3:x-csrf-token

1) 攻击者试图欺骗用户,使得用户'以为访问的是银行站点',实际访问的是攻击者的伪造木马站点

2) 做到即使用户'误操作',也'不会'有严重的后果

3) 有时效性的token,'用户是看不到的',再次请求的时候是会'自动携带'的,服务器会进行验证

4) 攻击者是没办法'伪造有时效性和唯一性'的token

csrf_token一些细节

⑧  答疑解惑

为什么CSRF Token写在COOKIE里面 

跨域主要针对的是'AJAX之类'的请求、JS等代码可以'读取HTTP响应'

⑨  题外话

需求:nginx判断'手机'还是'PC,展示不同的'页面':

$http_user_agent ~* "(Android|iPhone|Windows Phone|UC|Kindle)" 

nginx如何判断一个请求是不是Ajax异步请求

招聘中的toB和toC业务

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值