2012-03-22 41 views
4

是的,我需要启用跨站点脚本的内部测试我正在处理的应用程序。我会用Chrome浏览器的禁用-XSS-审计或禁用的Web安全交换机,但它看起来像他们不再包含在Chrome浏览器版本:疯狂的需要启用跨站点脚本

http://src.chromium.org/svn/trunk/src/chrome/common/chrome_switches.cc

什么我基本上想实现的是在Apache服务的页面上本地运行的JavaScript应用程序(也在本地运行)可以从运行在我们网络上另一台服务器上的资源运行脚本。

失败的方式来启用火狐,Chrome,或者我最不喜欢的XSS - IE,会有运行某些类型的代理程序来修改标题,让XSS发生的方法吗?任何快速的方式来使用Apache mod重写或者这样做?

此外,这仅用于测试。在生产中,所有这些脚本都是从同一台服务器运行的,因此甚至不需要对它们进行签名,但是在开发和测试期间,仅在您所关注的应用程序部分工作并且没有运行需要完整应用程序服务器设置的其余部分。

回答

3

你需要的仅仅是到第二个服务器将请求的第一台服务器上运行一个小的直通服务,并返回它从第二服务器返回的结果。

你不说什么语言应用程序的服务器端写入或什么样的数据被传递到或从你的服务返回,所以我不能比这更具体,但它确实应该是约15行代码来编写传递服务。

+0

你说得对。我使用Apache ProxyPass将外部脚本的请求发送到其他服务器,因此浏览器从不知道它们来自不同的站点。对不起,你的答案花了这么长时间。我完全忘记了这个问题。 – ogradyjd 2014-05-23 15:30:53

3

什么要求的是不跨站点脚本(这是在用户输入(例如,从URL)注入到页面这样第三方的脚本可以通过添加一个类型的安全漏洞一条链接)。

如果你只是想在不同的服务器上运行脚本,然后只需使用一个绝对URI。

<script src="http://example.com/foo.js"></script> 

如果您需要执行Ajax请求到远程服务器,使用CORS或运行于当前原点的代理。

再次,这是仅适用于测试

只是用于测试,看看Charles Proxy。它的地图远程功能允许您(透明地)将一些请求转发到远程服务器(基于通配符URL匹配)。