我有服务器A(www.example.com)向服务器B发送信息。我只能在服务器A上使用HTML / JS(并且必须在服务器B上执行“运算”)所以我正在尝试发送通过AJAX表单数据(试图避免向服务器B发送表单 - 不要问)。
显然,进行AJAX调用跨域被认为是XSS并且是一个很大的禁忌,但是如果我将服务器B放在子域(sub.example.com)中,那会被认为是好的吗?如何检测跨域错误?浏览器是否查找DNS记录? IP地址?
先谢谢你的帮助。
答案 0 :(得分:38)
子域被认为是不同的,并且Same Origin Policy将失败,除非两个子域都声明相同的document.domain
DOM属性(即便如此,不同的浏览器行为也不同)。
答案 1 :(得分:6)
简答:否。请参阅Same Origin Policy
您只能对同一主机,端口和协议发出XHR请求。
如果你想坚持做Ajax而不坚持,你可以看看JSON-P。
(XSS是一个完全不同的鱼群,其中一个站点允许将数据注入其中(例如通过URI),该数据被视为JS,允许第三方将人们引导到您的站点,同时他们登录到它,并窃取或编辑数据。)