2016-01-06 81 views
0

在我的项目中,我有一个json文件,一个部署在本地计算机上,另一个部署在另一台服务器上。启用CORS中的安全漏洞

这是我从角控制器调用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> 

这是工作很好,当我启用CORS在服务器端下conf/web.xml通过以下:

<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

TL; DR;这是安全的

如果它是静态公共信息,你没有什么可担心的,除非带宽。基本上任何Web应用程序都可以访问任何地方的静态json文件。即使你没有这个限制,你仍然可以通过curl访问它,如果你没有认证方法。

如果您想继续限制使用除*以外的域名,该域名仅允许来自该服务器网站的网络请求。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS