如何取消Chrome浏览器跨域请求限制、跨域名携带Cookie限制、跨域名操作iframe限制?
- 爬虫笔记
- 2022-09-24
- 1325热度
- 0评论
取消跨域限制、跨域名携带Cookie限制、跨域名操作iframe限制之后的Chrome可以更加方便Web前端开发,同时也可以作为一个完美的爬虫框架。
所有版本的Chrome浏览器下载:https://lanzoui.com/b138066
跨域请求限制
1.什么是跨域请求限制?
当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”,正常情况下浏览器会阻止XMLHttpRequest对象的跨域请求。
2.如何取消跨域请求限制?
Chrome版本要求:全版本支持;Windows下关闭Chrome,打开Chrome快捷方式的属性,然后添加如下的启动时的命令行参数:
--disable-web-security --user-data-dir=C:cheomeData
再次启动Chrome后,Chrome将不会阻止跨域请求;
跨域携带Cookie限制
1.什么是跨域携带Cookie?
跨域携带cookie指定是在A域名请求B域名的接口,请求的同时携带B域名的cookie;
正常访问网站时,如果允许跨域请求B域名接口能够正常访问,但是不会携带B域名的cookie。
假设接口需要登录,就算我们已经登录了,跨域访问B域名接口因为没有携带Cookie,请求也是没有登录状态的。
2.如何解除限制?
2.1 低于91版本的Chrome浏览器
Chrome中访问地址chrome://flags/#same-site-by-default-cookies,将SameSite by default cookies设置为Disabled后重启浏览器再运行项目即可解决。该设置默认情况下会将未指定SameSite属性的请求看做SameSite=Lax来处理。
2.2 91版本及以上的Chrome浏览器:
chrome://flags/中相关的设置在91版本后已被Chorme移除,94版本一下可以通过如下方式解除限制(94以上的版本通过命令行禁用设置SameSite默认值的方式已经被移除);
Windows下打开Chrome快捷方式的属性,在目标后添加--disable-features=SameSiteByDefaultCookies,点击确定,重启浏览器后限制解除。
跨域名操作iframe
1.什么是跨域名操作iframe限制?
假设我们在A域名的网页上有一个指向B域名的iframe,我们访问A域名的网页时,B域名的iframe正常显示,但是当我们通过js去操作B域名的iframe时,将会被浏览器阻止(同源域名不会被阻止);相应的通过window.open弹出的窗口也受到这个策略的限制。
2.如何解除限制?
Chrome版本要求:全版本支持;Windows下关闭Chrome,打开Chrome快捷方式的属性,然后添加如下的启动时的命令行参数:
--disable-site-isolation-trials --user-data-dir=C:cheomeData