有没有办法在谷歌的Chrome浏览器上禁用相同的源站策略?
- 另请参见peter.sh/experimentals/chromium-command-line-switches,我不确定它的真实性,但它似乎是由自动化流程生成的集合。
- chromium.org链接到peter.sh页面,因此必须非常合法。
- 请注意,即使仅用于开发,禁用SOP也是危险的。当你以这种方式启动浏览器时,你可能不仅要打开你的应用程序,而且还要检查你的邮件,阅读……考虑使用更好的替代方案,例如网络代理来解决这些问题。例如,通过proxyx:github.com/bripkens/proxyx
- 自版本49起,使用此选项--disable-web-security --user-data-dir。
- 对于任何在开发人员环境中使用grunt-run服务器寻求建议的人,请参见:gist.github.com/vp3n/5340891
- 我写了一篇关于没有紧身衣的铬合金的小文章
是的。对于OSX,打开终端并运行:
1
| $ open -a Google\ Chrome --args --disable-web-security --user-data-dir |
--OSX上的Chrome 49+需要用户数据目录
Linux运行:
1
| $ google-chrome --disable-web-security |
另外,如果您试图访问本地文件以实现开发目的(如Ajax或JSON),也可以使用此标志。
1
| -–allow-file-access-from-files |
对于Windows,进入命令提示符并进入chrome.exe所在的文件夹,然后键入
1
| chrome.exe --disable-web-security |
这将禁用相同的源策略,并允许您访问本地文件。
更新:对于Chrome22+,您将收到一条错误消息,说明:
You are using an unsupported command-line flag: --disable-web-security. Stability and security will suffer.
但是,您可以在开发时忽略该消息。
- 刚刚在PC(Chrome29)上尝试过这个,我仍然得到了这些可爱的来源***不允许访问…
- @萨姆确保你已经关闭了所有的chrome进程,然后再试一次。Chrome会发出一个警告头,如果你做得正确的话:"你使用了一个不受支持的命令行标志:--禁用Web安全性。稳定与安全将受到影响"
- 是的,就是这样。我在谷歌上闲逛。感谢莫顿
- 有没有办法防止错误信息出现?我在没有键盘或鼠标的数字墙板上使用这个标志。
- 感谢您添加OSX命令行。对我很有魅力!这个答案需要勾选!
- 谢谢。这是有效的。另一个需要注意的细节是:在运行这个命令之前,需要关闭chrome。
- 我发现我需要在mac osx上使用这个:open -a /Applications/Google\ Chrome.app --args --disable-web-security
- 显然,除非你也明确地给出一个--user-data-dir,否则现在--disable-web-security是不起作用的。即osx /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/。
- 是铬49换的
- 是否仍要重新启用Web安全?即使删除应用程序和所有关联的Web应用程序支持文件,我也无法将其重新打开。我的浏览器看起来很难看。:(
- 对于Windows,在与chrome.exe相同的目录中,创建一个.bat文件,如下所示:echo chrome.exe--disable web security--user data dir=c:yourchromeusrdatau dir>chrome.bat,然后在桌面上创建一个快捷方式。
- 您不必首先关闭所有的chrome进程。您可以使用open -n。只需运行open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome。这将在你的Mac上打开第二个Chrome应用实例,你可以并排使用它们。
- 谢谢@wiseoldduck!添加参数--用户数据目录为我工作
- @造粒这应该是现在公认的答案
- 这仍然适用于Chrome64。
- 这个解决方案在最新版本的Chrome上不再有效。查看这个bug报告->bugs.chromium.org/p/chromium/issues/detail?ID=840124
- 自2018年8月14日以来,该漏洞没有任何活动。
- 即使执行了禁用Web安全,CORS问题仍然存在(也可能看到警告消息)
- 如何在Mozilla和IE中使用这种技术?请建议。
- 它仍然不起作用。正如@samul所说,它似乎还没有被修复或改进。我想他们不会优先考虑这件事。当然,没有终端用户需要这个功能是真的。我认为更明智的做法是,他们不再实施与安全性降低相关的功能:(
关闭chrome(或chromium)并使用--disable-web-security参数重新启动。我刚刚测试了这个,并验证了我可以通过嵌入在"localhost"(在chromium 5/ubuntu下测试)提供的页面中的src="http://google.com"访问iframe的内容。对我来说,确切的命令是:
注意:在运行命令之前杀死所有chrome实例
1
| chromium-browser --disable-web-security --user-data-dir="[some directory here]" |
浏览器将在第一次打开时警告您"您使用的是不受支持的命令行",您可以忽略它。
铬源:
1 2
| // Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security"; |
在Chrome48之前,您只需使用:
1
| chromium-browser --disable-web-security |
- 如何在OS X上执行此操作?
- @LANDON9720请参见按ECTYPE列出的答案。
- 如何重新启用?chrome.exe--启用Web安全性不起作用^^
- @伯蒂只要合上铬合金,不带标签就可以打开它。只有用那个标签打开Chrome时,它才会处于那个模式。
- 不好意思,如何在Windows中"用--disable-web-security参数重新启动"。我不知道怎么操作。
- 我和@stallman有相同的问题-我想用chrome canary来解决这个问题(只在chrome应用程序文件夹中显示chrome.exe)。
- 这在最近的Chrome版本中似乎不再有效。
- 更正:它仍在工作,但顶部显示黄色的误导性警告消息。忽略它,实际上正在打电话。
- @Landon9720闭式铬合金,开放式终端,型号open /Applications/Google\ Chrome.app --args --disable-web-security
- 这似乎不再适用于当前版本的Chrome了
- 这仍然有效,但在使用标志集运行之前必须关闭chrome的所有实例。
- 我使用的是Chrome的第28版(最迟在编写时),这个方法仍然有效。正如servarevitas3所说,设置参数时,确保chrome没有在后台运行。
- 你真的不应该禁用网络安全。你正在打开你的机器以获得所有权。是的,这是为了开发,但点击错误的链接或访问另一个网站,你可能只是拥有你的机器。运行服务器很简单。打开shell/terminal/command行,输入cd path/to/files,然后输入python -m SimpleHTTPServer,如果速度太慢,请将浏览器指向http://localhost:8000。
- @Seanonymous实际上是一个更好的方法:open -a"Google Chrome" --args --disable-web-security,还有一个扩展!
- @gman问题不是运行服务器。这里的大多数人都知道如何运行一个小型的Python或节点服务器。我正在运行一个,但仍然有这个问题。
- 还有其他问题。解决方案绝不是"——禁用Web安全"而不是"从根目录删除密码,这样任何人都可以作为根目录登录"。
- 为了防止其他人遇到同样的问题,我发现我已经结束了所有运行chrome进程的工作。
- 我注意到Google Drive没有用这个标志打开
- 在Chrome48和49中,还必须添加--user-data-dir。
- 我用的是53版的金丝雀,看起来好像停止工作了,是吗?我收到一条消息:"您正在使用不受支持的命令行标记:--禁用Web安全性"
- 刚刚运行chrome选项,收到警告,在X-origin请求上仍然得到"preflight的响应具有无效的HTTP状态代码401"。这太糟糕了。
- 55版似乎不适合我:(
- @marekczaplicki在55版上,它要求您为--user data dir(--user data dir=)定义一个实际的目录。一旦完成,这对我来说非常有效。
- 我一直运行这些命令,它用命令行标志打开chrome,但不知何故,它的行为和它没有一样。为什么会这样?
- 它在Ubuntu 16.04和Chromium的最新版本中工作。P
- 这可能会导致Google Drive(OSX)出现一些问题:您没有登录,您已注销。重新登录,然后单击"重试"。
- 这个解决方案在最新版本的Chrome上不再有效。查看这个bug报告->bugs.chromium.org/p/chromium/issues/detail?ID=840124
- 我确认它在Chrome67中不再起作用……现在我已经安装了Chrome66的便携式版本(portableApps.com/redirect/…)
- 在Win7上,您不必关闭现有的Chrome窗口。
- 如何在Mozilla和IE中使用这种技术?请建议。
- 这已经不起作用了,在这里评论提交的bug:bugs.chromium.org/p/chromium/issues/detail?ID=857032
对于Windows用户:
这里接受的解决方案的问题是,在我看来,如果您已经打开了chrome并尝试运行它,那么它将不起作用。
但是,在研究这一点时,我遇到了一篇关于超级用户的文章,是否可以同时运行带有或不带有Web安全性的Chrome?.
基本上,通过运行以下命令(或使用它创建快捷方式并通过它打开chrome)
1
| chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security |
您可以在打开其他"安全"浏览器实例并正常工作的同时打开一个新的"不安全"chrome实例。重要提示:每次打开窗口时删除/清除C:/Chrome dev session文件夹,因为第二次--disable-web-security不起作用。因此,您不能保存您的更改,然后用--disable-web-security再次打开它作为第二个不安全的chrome实例。
- 太棒了,谢谢。正因为如此,我才能够以独立应用程序"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"的形式启动网页。
- 正是我在本地机器上尝试使用API进行开发时所需要的。
- 这很管用。它还让我的Chrome正常实例的安全性打开,并且运行正常。只要一个旁注当它工作时,Chrome就会通知你"稳定性和安全性会受到影响"。
- 我怎么能在Mac电脑上做到这一点?尝试过使用open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData",它只是使现有的chrome窗口获得焦点,没有其他功能?
- @用户3648895我不是Mac/OSX用户,所以我恐怕不知道。看看这个问题的OSX答案。
- 这个命令在OSX中通过启动第二个实例来工作:open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security(您可能需要先创建temp文件夹)
- 在Windows中,您还可以使用Google Chrome插件将允许控件允许源代码头添加到您的请求中。
- 也在Ubuntu工作。你可以把那张for wiindows users的钞票拿掉。
- 这仍然是相关的,您不必关闭其他Chrome窗口。
对于Windows:
打开"开始"菜单
键入windowsabbkbd+r或打开"运行"
执行以下命令:
1
| chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security |
Mac:
走向终端
执行以下命令:
1
| open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security |
新的禁用Web安全的Chrome浏览器应打开并显示以下消息:
- @投反对票的人请说明投反对票的原因,因为没有投反对票的理由。
- 我在Windows10上工作得很好,也不需要关闭其他Chrome实例。
- 这适用于Windows10。我在其他地方看到过它,但它说在命令行上运行它,而不是在windows Run上运行它。
我不想重新启动Chrome并禁用我的网络安全(因为我在开发过程中浏览),偶然发现了这个Chrome扩展。
chrome web store allow control allow origin:*(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfmbojpecafghkpbjhddihlkkiljbi?)HL= EN)
基本上,它是一个小的切换开关来打开和关闭允许访问源代码控制检查。对于我所做的一切都是完美的。
编辑:前几天我试过用它来做另一个项目,但它停止了工作。卸载并重新安装扩展修复了它(以重置默认值)。
编辑2:我再也不能让它持续工作了
- 如何实现和集成我的扩展,因为我的扩展需要访问跨域。我无法强制用户打开浏览器以禁用Web安全性
- 它只允许Ajax请求而不是普通的网页和扩展访问网页。
- 不幸的是,这个扩展对本地文件不起作用。在这种情况下,请坚持使用--disable-web-security开关。
- @布莱斯,这不是真正的本意。尽管您可以使用--allow-file-access-from-files,而不是禁用所有Web安全性。
- 扩展是有用的,按预期工作。但是如果我打开这个扩展,我就不能浏览YouTube,谷歌文档等。我肯定延期有问题。
- 是的,你是对的,我也有同样的问题。javascript控制台中的特定错误是这个(不知道是否有解决方法)stackoverflow.com/questions/19743396/…
- 警告!有些网站不允许您在启用此扩展的情况下登录!例如,firebase控制台。
对于Chrome版本为60.0.3112.78的Windows用户(在测试和运行解决方案的当天),至少要到2019年1月19日(版本)。71.0.357898)。您不需要关闭任何chrome实例。
在桌面上创建快捷方式
右键单击快捷方式,然后单击属性。
编辑目标属性
将其设置为"C:Program Files(x86)GoogleChromeApplicationChrome.exe"--禁用Web安全--用户数据dir="C:/Chromedevsession"
启动chrome并忽略消息"不支持禁用Web安全!"
小心不要使用这个特定的浏览器实例进行浏览,因为您可能会被黑客攻击!
- 工作很有魅力。我不敢相信Chrome不允许开发人员在不启动新会话的情况下禁用它。但至少他们有办法。
- 您还可以在源代码上使用chrome调试吗?
- 刚刚测试过,您仍然可以在这个模式下使用dev工具。
- 这个解决方案仍然适用于Chrome 71版,非常感谢!
- 适用于72.0.3626.109。帮了很多忙!
似乎上面的解决方案都不起作用。最新的Chrome版本不再支持--disable web security。
允许控制允许来源:*-chrome扩展部分解决了问题。只有当您的请求使用get方法并且没有自定义HTTP头时,它才起作用。否则,chrome将发送选项http请求作为飞行前请求。如果服务器不支持CORS,它将以404 HTTP状态代码响应。插件无法修改响应HTTP状态代码。所以Chrome将拒绝这个请求。Chrome插件无法基于当前的Chrome扩展API修改响应HTTP状态代码。对于XHR发起的请求,您不能进行重定向。
不知道为什么Chrome让开发人员的生活如此困难。它会阻止所有可能的禁用XSS安全检查的方法,即使对于完全不必要的开发用途也是如此。
经过几天的努力和研究,有一个解决方案对我来说是完美的:使用Corsproxy。这里有两个选项:1。使用[https://cors-anywhere.herokupp.com/]2。将Corsproxy安装在本地箱中:NPM安装-G Corsproxy
[更新日期:2018年6月23日]最近我正在开发一款SPA应用程序,需要再次使用Corsproxy。但看来Github上的Corsproxy都不能满足我的要求。
- 出于安全考虑,需要它在防火墙内部运行。所以我不能在任何地方使用https://cors.herokupp.com/。
- 它必须支持https,因为chrome不会阻止https页面中的https-ajax请求。
- 我需要在点头的时候跑步。我不想维护另一个语言栈。
所以我决定用nodejs开发我自己的corsproxy版本。其实很简单。我已经在Github上作为一个要点发布了它。以下是源代码要点:https://gist.github.com/jianwu/8e76eaec95d9b1300c595996fbfc21b10
- 它在普通的nodejs代码中,没有任何附加的依赖关系
- 您可以在HTTP和HTTPS模式下运行(通过传递HTTPS端口命令行中的数字),要运行https,需要生成cert和键并将它们放在webroot目录中。
- 它还充当静态文件服务器
- 它还支持飞行前选项请求。
要启动Corsproxy服务器(HTTP端口8080):节点static_server.js 8080
要访问代理:http://host:8080/http://www.somesite.com
- 如果你要达到这个程度,你可以在本地或远程托管一个Web服务器,从你想要的网页中提取内容,然后在上面设置适当的CORS头文件。
- 我以前想过这条路。但这需要一些编码,特别是在我的例子中,我需要调用来自不同域的几个服务。所以我必须将不同的URL模式映射到不同的域。这正是Corsproxy为我们所做的。而且效果很好。
- 当然,它不适用于https,这是谷歌和Mozilla现在想在每个页面上强制执行的。
- 不是真的…接受回答中提到的方法对我很有效。正如上面提到的,chrome 49以后的命令'chrome.exe--disable web security--user data dir'为我工作。
- --禁用Web安全性是"不受支持"的,但继续正常工作
- Chromium 53,--禁用Web安全--用户数据目录不适用于我
- 在53+中,您需要实际提供一个不同于常规目录的唯一用户数据目录。这将为不安全的环境创建一个新的概要文件。--需要将用户数据目录设置为相等的值,例如在上面的olas应答中。如果您真的想这样做,您可以将其设置为实际的普通用户配置文件文件夹,但是如果您在该模式下开始正常浏览,这会使您的普通配置文件受到意外攻击,因此非常不鼓励这样做。
- 你能提供一个如何使用这个的例子吗?在运行node.js服务器之后,我应该使用什么URL?它和CORS-Anywhere相似吗?
- @wwjdm,你说得对,它很相似,你可以用以下格式指定URL主机:8080/http://www.somesite.com,我已经把它添加到gist中的jsdoc中了。
对于Windows…在桌面上创建Chrome快捷方式。右键单击>属性>快捷方式编辑"目标"路径:
1
| "C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security |
(将"c:….chrome.exe"更改为chrome所在的位置)。
ET Vule:()
- 截至2013年8月27日,它对我来说是有效的,允许我在自己的本地主机上执行Ajax。
- 不幸的是,这对我不起作用。
- 得到"您使用的是不受支持的命令行标记:--disable web security",Canary版本53
- @你仍然可以使用开关。这一警告是谷歌打击不安全(一件好事)的一部分。另外,对于55+版本,您还需要使用--user data dir=这样Google就不希望您将不安全的规则与常规配置文件混合在一起。
我发现最好的方法是在Windows桌面上复制一个Chrome或Chrome Canary快捷方式。将此快捷方式重命名为"无CORS",然后编辑该快捷方式的属性。
在目标中,将--disable-web-security --user-data-dir="D:/Chrome"添加到目标路径的末尾。
你的目标应该是这样的:
更新:添加了新标志。
1
| "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome" |
- 这只会给我404而不是飞行前的错误
- 404错误将是与服务器相关的错误,而不是Google Chrome错误。
- @etoxin此答案在最新版本的chrome中不再有效。您必须添加--disable web security--user data dir="d:/chrome"
在Mac终端上尝试此命令-
1
| open -n -a"Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security |
它打开了另一个禁用安全性的Chrome实例,并且不再存在CORS问题。此外,您不再需要关闭其他chrome实例。将localhost URL更改为自己的URL。
您可以使用这个名为"允许控制允许来源:*"的chrome插件。它使它变得非常简单,而且工作得很好。请在此处检查:*
- 它将"evil.com"网站设置为来源,看起来可疑。
- 根据此评论的日期,不再起作用。建议只使用旗标路线。
对于Selenium WebDriver,您可以让Selenium Start Chrome使用适当的参数(或"switches"),在这种情况下。
1 2 3 4
| @driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
}) |
- 这是禁用Web安全性的两个前破折号。它是我的浏览器,它使他们看起来像一个龙破折号。
- 我写了一篇关于没有紧身衣的铬合金的小文章
如果您在Linux上使用Google Chrome,那么下面的命令可以工作。
1
| google-chrome --disable-web-security |
这个Chrome插件适用于我:允许控件允许来源:*-Chrome Web Store
- 这个插件在我的浏览器中坏了,并开始破坏所有的xhr东西。小心使用。
1
| chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/ |
您可以简单地使用这个chrome扩展允许控制允许来源
只需单击扩展的图标,即可根据需要打开或关闭启用跨资源共享。
在Windows 10上,以下操作将起作用。
1
| <<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt |
- 我很惊讶你的回答被否决了。对于我来说,它在使用最新Chrome版本的本地文件上运行得非常好。
- 我正在使用Windows 7,但它不工作
- @Chanist:也许这就是为什么OP说"在Windows10上"…?
仅限Mac用户
1
| open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security |
- 如何恢复这个变化@saurab
- @Mohasinali关闭所有的Chrome窗口,然后正常运行。它只影响使用此参数运行的实例。如果在没有任何参数的情况下再次运行它,则不会应用此更改。
按照OlaKarlsson的回答,实际上最好的方法是在不同的会话中打开不安全的Chrome。这样,您就不必担心关闭所有当前打开的选项卡,也可以继续使用原始的chrome会话安全地浏览网页。
这些批处理文件只在Windows上对您有效。
把它放在chrome-cors.bat文件中,方便使用
1
| start"""c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security |
这个是给铬金丝雀的。加拿大蝙蝠
1
| start"""c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security |
- 这是对批处理文件的无意义的使用。走捷径会更好。只需将第一对引号后的所有内容放入快捷方式目标。
- 其实没关系。然而,在批处理中,您可以做更多的事情,例如在关闭浏览器后删除用户数据目录。
- 是的,在刚启动的外部添加行为是有用的,但是对于大多数长时间需要这样做的人来说,拥有一个持久的用户目录是有用的(例如对于已安装的扩展)
对于Mac用户:
1
| open -a"Google Chrome" --args --disable-web-security --user-data-dir |
在Chrome48之前,您可以使用:
1
| open -a"Google Chrome" --args --disable-web-security |
- 谢谢。这适用于最新的Chrome73,其中包括新的CORB安全策略。
有一个叫做cors toggle的chrome扩展。
单击此处访问并将其添加到Chrome。
添加后,将其切换到打开位置以允许跨域请求。
使用当前最新的Chrome版本(73.0.3683.86),使其在我的测试中工作的唯一方法是使用以下标志启动Chrome(将d: emp更改为您喜欢的):
--disable-site-isolation-trials --disable-web-security
--user-data-dir="D:\temp"
在Windows中,单击"开始"按钮,然后复制粘贴以下内容:
1
| chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp" |
- 这是唯一适合我的解决方案。我在Windows10上运行了这个chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"窗口。谢谢。
- 拉头发的阿格-似乎不再有效了
在linux-ubuntu上,要同时运行正常会话和不安全会话,请运行以下命令:
1
| google-chrome --user-data-dir=/tmp --disable-web-security |
这是一个不断移动的目标……今天,我需要添加另一个标志以使其工作:--disable-site-isolation-trials
操作系统X:open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials
对于Windows:
(使用Windows 8.1、Chrome 44.0)
首先,关闭Google Chrome。
然后,打开命令提示符并转到"chrome.exe"所在的文件夹。
1
| ( for me: 'chrome.exe' is here"C:\Program Files (x86)\Google\Chrome\Application". |
所以我键入:cd C:\Program Files (x86)\Google\Chrome\Application
现在键入:chrome.exe --disable-web-security。
一个新的铬合金窗口将打开。
不要这样!你的账户被攻击了。一旦你这样做,任何第三方网站都可以开始向你登录的其他网站发出请求。
而是运行本地服务器。它就像打开一个shell/终端/命令行并键入
1 2
| cd path/to/files
python -m SimpleHTTPServer |
然后将浏览器指向
如果你发现速度太慢,考虑这个解决方案
- 这不会使"你的机器"受到攻击。恶意的javascript代码在客户机上不能做很多事情。但是,您将允许恶意的javascript代码潜在地操纵您在其他网站(facebook/administrations/banks/…)上的帐户。这当然没有那么危险,但完全不同。
- 或者在本地页面中包含的任何第三方库,用于将文件从硬盘上载到远程服务器。
- 这里有更多的概念攻击证明
- 不过,用户可能需要这样做。问题不是运行服务器。问题是在将CORS放到验收/生产服务器上之前对其进行测试,而不需要进行这种更改。修改主机文件也不起作用。
- 没有服务器就不能测试CORS,因为CORS是服务器端的技术。为了测试CORS,需要设置一个服务器来发送CORS头。有两件事要测试(1)服务器是否发送头(2)如果服务器发送头,您是否可以使用浏览器中的资源。(1)和(2)都需要服务器。如果你只想做2,你可以使用这台服务器,但是你仍然需要测试(2)你的生产站点的服务器。
- 是的,您不能使用外部服务器(如具有自定义域名的S3)测试本地服务器。因为本地服务器的域名是localhost,与远程服务器的域名不匹配。除非你有办法让我在本地机器上启动S3。此外,CORS政策的存在意味着人们不必为这些类型的攻击而烦恼,因为它们几乎是普遍失败的。(暗中安全)
- 不知道你的意思。您可以在本地测试任何域名。您只需编辑主机文件(/etc/hosts或c:windowssystem32driversetchosts)并添加127.0.0.1域名.com。但通常不需要。
尝试转到此页面并禁用网站域的域安全策略。
1
| chrome://net-internals/#hsts |
在Windows PC上,使用一个旧版本的chrome,这个命令对你们所有人都有效。我把我的Chrome降到了26版,它工作了。
- u不需要旧版本的chrome使用此完整命令--disable web security--user data dir="d:/chrome"
我有时会使用它,将本地主机前端站点发布到本地主机后端API(例如,对旧的.NET API作出反应)。我在我的Windows10桌面上创建了一个单独的快捷方式,这样它就不会用于正常浏览,只用于本地调试。我做了以下工作:
右键单击桌面,添加新快捷方式
将目标添加为EDOCX1[0]
单击确定。
加载此浏览器时,您将收到一条警告,即它不安全,只需注意您在其上浏览的内容即可。我倾向于在桌面上重命名这个新的快捷方式,用大写字母,并将它从我的其他图标中移开,这样它就不会被普通的Chrome所混淆。
希望这有帮助!