【发布时间】:2013-12-01 21:44:45
【问题描述】:
有没有办法禁用跨域ajax请求?
假设有两个域:mywebsite.com 和 hackerswebsite.com。在 mywebsite.com 上有一个网站,其中包含带有 AJAX 功能的 javascript,可将数据发送到 hackerswebsite.com .我只想阻止这种情况,只允许向 mywebsite.com 域发送 AJAX 请求。
我知道有类似“同源策略”的东西,但据我所知,它适用于第二个域,并且可以阻止来自其他域的连接。
更准确地说,假设我有一个网站,用户可以在其中运行自己的 javascript。如果他们可以编写自己的脚本,他们可以从 DOM 文档中获取任何数据并将其异步发送到他们自己的服务器,该服务器将接受来自我的域的数据。例如登录名。我说的对吗?
如果我错了,请纠正我。我只是想了解这个安全策略。
【问题讨论】:
-
这样他们就可以发出 GET 请求并发送相同的信息!
img.src="asdf.php?myInfo=goesHere"; -
您不需要用户能够在您的页面上运行他们的脚本来获取在您的 DOM/BOM 中可见的任何数据。他们无论如何都可以看到这些数据,并将其传输到任何他们想要的地方。
-
我想让他们有可能运行自己的 scipts。不是看页面的数据,只是跑自己的东西。
-
@espascarello 我不明白
-
客户可以以任何他们希望的方式使用任何访问公开数据的方法。一旦它出了门,你就不再控制它了。如果您想保护某些东西,请将其放在登录名后面。
标签: javascript ajax security cross-domain cors