把所有 POST 请求都换成 PUT,不返回允许非同源请求的响应头,是否就不需要考虑 CORS 攻击了?

185 天前
 drymonfidelia
5328 次点击
所在节点    信息安全
42 条回复
ZeekChatCom
185 天前
csrf ?那怎么又有简单请求和非简单请求呢?楼主你在说什么?
justdoit123
185 天前
我认为是可以的。如果请求允许 PUT ,那么就无法在浏览器端构建出 CSRF 攻击。

但是,这种防御方式有点自损八百的感觉。

另外,我心中也有一个疑惑,为什么有的人要把 CSRF token 存放到 session 里?我感觉这种绑定的意义不大,还增加服务的负担。
loveuer
185 天前
那实际上 http 是支持 自定义 method 的,不是更那个啥一点?
FrankFang128
185 天前
你说的是跨站点请求伪造,不是跨域哈。
darksword21
185 天前
我现在脑子很乱,你们能不能不要再发 cscs 的帖子了
darksword21
185 天前
zeromake
185 天前
CSRF 不是用来偷 cookies 请求 GET 的吗,不是应该拒绝所有 GET 请求?但是现在 http GET 请求有很多特性( cdn 缓存,浏览器缓存),不是那么好替代的……
wonderfulcxm
185 天前
这个帖子看得好喜感😅
kwater
185 天前
CORS 是君子协定,只服务理想环境。
真实世界的攻击不受限 CORS ,可能要真正研究的方向是 CSRF 、重放攻击这些
Terry05
185 天前
这么多打错。。。
deplives
185 天前
看标题看的我一愣一愣的,愣是没想通跨域能发起啥攻击。
看楼中评论竟然还一本正经的讨论起来了,后来发现 你说的其实是 CSRF
连 CSRF(跨站伪造请求) 和 CORS (跨域) 都分不清,就别发起讨论了。
kkk9
185 天前
@fiveStarLaoliang #18 @shadowyue #19 像极了甲方乙方开对接会议😆😇😇😇
hahiru
184 天前
朕决定了,荣登大宝之后一定要把该死的首字母缩写都砍了。
DOLLOR
184 天前
其实 HTTP 方法不一定是 GET 、POST 、PUT 、HEAD 、OPTIONS 这些,你完全可以凭喜好自定义一个偏门的单词作为请求方法。🤣

https://imgur.com/66sccjK
lovelylain
184 天前
post 换成 put 有什么区别?
justdoit123
184 天前
@lovelylain 浏览器为了向后兼容,依然允许表单构建的请求进行跨域。而表单请求只有 GET/POST 两种 method 。这种请求,是有办法自动带上目标网站的 Cookie 的,从而实现 CSRF 攻击。
lovelylain
184 天前
@justdoit123 明白了,谢谢
euronx
184 天前
CSRF 和 put 有啥关系?
oyps
184 天前
避免 CSRF 攻击的方法:
1. 避免在 GET 请求中进行状态改变操作
2. 避免直接根据 URL 参数执行敏感操作
3. 增加 CSRF token 校验,确保请求合法
4. 设置允许访问的来源白名单
NUUUUULL
184 天前
单浏览器维度不允许跨域就会有跨站请求

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1057881

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX