我正在尝试从本地主机上的PHP脚本检索信息
app.js
在Cordova应用程序上:
var url = 'http://localhost:8000/locations';
$.ajax({
url: url,
type: 'GET',
contentType: "application/json",
async: true,
dataType: 'jsonp',
crossDomain: true,
success: function(resp){
console.log(resp);
},
error: function(err) {}
});
和php代码(使用Laravel框架)
return Location::all()->toJson();
我有这个错误
拒绝加载脚本' http:// localhost:8000 / locations?callback = jQuery21309354114597663283_1431278135791&_ = 1431278135792 ',因为它违反了以下内容安全策略指令:“ default- src'self'data:gap:https://ssl.gstatic .com'unsafe -eval'”。请注意,未明确设置“ script-src”,因此将“ default-src”用作后备。
您需要将策略添加到您的Cordova应用中。
http://content-security-policy.com/
http://www.html5rocks.com/zh-CN/tutorials/security/content-security-policy/
第二个链接正是您所需要的,文章写得很好,我只能引用:
在此页面来源的上下文中https://apis.google.com/js/plusone.js。我们相信该代码,但不能指望浏览器会自己发现apis.google.com上的代码很棒,而apis.evil.example.com上的代码可能不是。浏览器愉快地下载并执行页面请求的任何代码,而不管其来源如何。
CSP定义了Content-Security-Policy HTTP标头,而不是一味地信任服务器提供的所有内容,该标头允许您创建可信内容源的白名单,并指示浏览器仅执行或呈现这些源中的资源。即使攻击者可以找到一个漏洞来注入脚本,该脚本也不会与白名单匹配,因此不会被执行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句