启用CORS中的安全漏洞

时间:2016-01-06 06:36:54

标签: javascript angularjs json security

在我的项目中,我有一个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的安全漏洞问题?

1 个答案:

答案 0 :(得分:0)

<强> TL; DR;这是安全的

如果是静态公共信息,除非有带宽,否则无需担心。基本上任何Web应用程序都可以在任何地方访问静态json文件。即使您没有此限制,如果您没有身份验证方法,仍可以通过curl访问它。

如果您仍然需要限制,请使用*以外的域名,该域名仅允许来自该服务器网站的网络请求。

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