AJAX是否调用了考虑跨站点脚本的子域?

时间:2010-06-14 20:09:48

标签: javascript ajax

我有服务器A(www.example.com)向服务器B发送信息。我只能在服务器A上使用HTML / JS(并且必须在服务器B上执行“运算”)所以我正在尝试发送通过AJAX表单数据(试图避免向服务器B发送表单 - 不要问)。

显然,进行AJAX调用跨域被认为是XSS并且是一个很大的禁忌,但是如果我将服务器B放在子域(sub.example.com)中,那会被认为是好的吗?如何检测跨域错误?浏览器是否查找DNS记录? IP地址?

先谢谢你的帮助。

2 个答案:

答案 0 :(得分:38)

子域被认为是不同的,并且Same Origin Policy将失败,除非两个子域都声明相同的document.domain DOM属性(即便如此,不同的浏览器行为也不同)。

答案 1 :(得分:6)

简答:否。请参阅Same Origin Policy

您只能对同一主机,端口和协议发出XHR请求。

如果你想坚持做Ajax而不坚持,你可以看看JSON-P

(XSS是一个完全不同的鱼群,其中一个站点允许将数据注入其中(例如通过URI),该数据被视为JS,允许第三方将人们引导到您的站点,同时他们登录到它,并窃取或编辑数据。)