如何防止跨站点访问

时间:2012-10-02 19:09:31

标签: xss

好吧,我刚做了一个测试,结果证明这并没有被浏览器阻止 - 我有点假设,因为它可以加载jquery并且仍然可以访问它加载的数据:

我的脚本位于此处: https://securedomain.com/cookie_test.php - 它以json

打印出cookie

如果我在这里运行此文件: http://myotherdomain.com/cookie_test.php

javascript加载此内容:

但由于源策略相同,因此无法加载AJAX请求

它看起来也像是在脚本标签中工作,它必须是一个有效的js语句,如: 数据= {secure_data:真}

但如果我只是简单的JSON,那么它会导致javascript错误: {secure_data:真}

所以我正确地假设这个文件中的数据输出是安全的,只要我以json格式输出JUST json?它无法被客户端浏览器上的任何其他站点检索?

1 个答案:

答案 0 :(得分:0)

应该是,但是如果你担心,你总是可以在json周围添加注释,将其作为文本从ajax加载到浏览器中,在javascript中恢复注释,然后执行JSON.parse。

从安全域的角度来看,以这种方式提供所有cookie看起来都是一个坏主意,因为它会杀死像HttpOnly cookie这样的合理内容。