为什么通过 JavaScript 从浏览器到本地主机的请求没有被阻止?
Why is a request through JavaScript from a browser to localhost not blocked?
webui-aria2 是一个允许从浏览器通过 rpc 方法控制 aria2(强大的下载工具)的工具。
使用http://ziahamza.github.io/webui-aria2/,可以控制aria2,前提是使用--enable-rpc
选项启动应用程序。 aria2 基本上启动了一个 HTTP 服务器监听 localhost:6800
.
很好,但令我惊讶的是浏览器(webkit 和 gecko)允许 github.io 上托管的页面向本地主机发出请求。怎么会这样?这不是一个严重的漏洞吗?
从 github.io
到 localhost
的请求将被视为任何其他跨源请求。
嵌入网站的 JavaScript 无法跨源读取数据,除非:
- 使用 CORS 或
给予明确许可
- 使用了 JSONP 等 hack
据推测,服务器使用了其中一种技术。
webui-aria2 是一个允许从浏览器通过 rpc 方法控制 aria2(强大的下载工具)的工具。
使用http://ziahamza.github.io/webui-aria2/,可以控制aria2,前提是使用--enable-rpc
选项启动应用程序。 aria2 基本上启动了一个 HTTP 服务器监听 localhost:6800
.
很好,但令我惊讶的是浏览器(webkit 和 gecko)允许 github.io 上托管的页面向本地主机发出请求。怎么会这样?这不是一个严重的漏洞吗?
从 github.io
到 localhost
的请求将被视为任何其他跨源请求。
JavaScript 无法跨源读取数据,除非:
- 使用 CORS 或 给予明确许可
- 使用了 JSONP 等 hack
据推测,服务器使用了其中一种技术。