在我的项目中,我有一个json文件,一个部署在本地计算机/服务器中,另一个部署在另一个服务器中。
这是我从角度控制器调用json数据的代码 -
function Controller($scope, $http) {
$http.get("http://localhost:8080/RESTCall/test.json").
success(function(data) {
$scope.lists= data;
});
}
function Controller2($scope, $http) {
$http.get("http://<Server IP>:8080/RESTCall/test.json").
success(function(data) {
$scope.lists= data;
});
}
这是我的index.html页面,我正在使用这个控制器:
<div ng-controller="Controller">
<ul ng-repeat="list in lists">
<li>
{{list.testdata}}
</li>
</ul>
</div>
<div ng-controller="Controller2">
<ul ng-repeat="list in lists">
<li>
{{list.testdata}}
</li>
</ul>
</div>
当我在conf / web.xml下的服务器端启用CORS时,这可以正常工作:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
安全吗?是否存在启用CORS的安全漏洞问题?
答案 0 :(得分:0)
<强> TL; DR;这是安全的
如果是静态公共信息,除非有带宽,否则无需担心。基本上任何Web应用程序都可以在任何地方访问静态json文件。即使您没有此限制,如果您没有身份验证方法,仍可以通过curl访问它。
如果您仍然需要限制,请使用*
以外的域名,该域名仅允许来自该服务器网站的网络请求。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS