我调查过 this 堆栈溢出应答以了解CORS飞行前请求。根据这个答案,当CORS不存在时,有可能进行CSRF攻击。
但是看看“简单”请求的需求 需要飞行前准备,我看还是可以的。会改变的 状态和删除数据就像一个删除! 那是真的!CORS不能保护你的网站免受CSRF攻击。那么 同样,如果没有CORS,你也不会受到CSRF攻击的保护。这个 飞行前的请求只是为了限制你的CSRF暴露在 前科斯世界中已经存在的东西。
但是看看“简单”请求的需求 需要飞行前准备,我看还是可以的。会改变的 状态和删除数据就像一个删除!
那是真的!CORS不能保护你的网站免受CSRF攻击。那么 同样,如果没有CORS,你也不会受到CSRF攻击的保护。这个 飞行前的请求只是为了限制你的CSRF暴露在 前科斯世界中已经存在的东西。
但是,如果浏览器遵循 Same Origin Policy . 如果恶意站点试图访问另一个站点,浏览器将简单地阻止它,因为请求的来源不同。
如果CORS不在,有人能解释CSRF攻击的可能性吗?
同样的起源也适用于AJAX请求,但这并不是触发CSRF攻击的唯一方法。
例如:
<form id="evilForm" method="post" action="http://example.com/delete_user.php"> <input type="hidden" name="user_id" value="12345"> </form> <script> document.getElementById('evilForm').submit(); </script>