HTTP脚本的安全性<script> JSONP </script>

时间:2014-05-09 03:39:58

标签: javascript ajax security jsonp

我使用元素<script>作为Ajax传输机制来设置<script>的src并将其插入到文档中(如果尚未存在)。浏览器将生成HTTP请求以下载URL。这是我的代码:

<script type="text/javascript" src="http://somedomain.com/service.js"/>

我的问题是:

  1. 有可能吗?
  2. 更好的方法是什么?
  3. 我很感激您能提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

1.可能吗?

是的,当然可能,<script>元素对于一个主要原因是有用的Ajax传输:

它们不受同一原始政策的约束,因此您可以使用它们从您自己以外的服务器请求数据。

2.更好的方法是什么?

我认为如果您使用<script>元素作为Ajax传输,您必须允许您的网页运行无论远程服务器选择发送给您的任何Javascript代码,这意味着您不得使用此处描述的此技术使用不受信任的服务器。

enter image description here

当您使用受信任的服务器时,请记住,如果攻击者可以攻击该服务器,那么黑客可以接管您的网页运行他想要的任何代码并显示他想要的任何内容,并且该内容将显示为您的内容站点。

注意要使用受信任的第三方脚本,特别是将广告&#34;小部件&#34; 嵌入到页面中,使用<script>作为Ajax传输与受信任的Web服务进行通信并不比这更危险。

使用<script>元素作为Ajax传输的技术已经被认为是JSONP,当HTTP请求的响应主体是JSON编码时它起作用。