2016-01-06 114 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