2014-09-04 1 views
0

프로젝트에서 Grails 2.3.9와 AngularJS 1.2.9를 사용하고 있습니다. 사용자가 리디렉션 된 사용자와 일치하지 않으면 리퍼러가 호스트와 일치하도록 보장하는 리퍼러 필터가 활성화되었습니다. 로그인 페이지. 문제는 사용자가 실제로 로그인 한 상태에서 네비게이션에서 템플릿을 선택하고 F5를 선택하면 리퍼러 헤더가 null입니다! 따라서 사용자는 리퍼러 필터에 의해 로그인 페이지로 다시 리디렉션됩니다.Grails, AngularJS 및 referer 헤더가 비어있는 이유

누군가가 리퍼러가 설정되지 않은 이유에 대해 설명해 줄 수 있습니까? Referer 헤더는 필수 필드는 아니지만 애플리케이션에 필수 항목입니다. 사용자가 로그인하여 관리자 페이지에 착륙 할 때 리퍼러를 볼 수 있으며 F5를 선택하면 리퍼러가있을 때 페이지가 새로 고침됩니다.

아이디어가 있으십니까?

J

답변

0

나는 나는 당신이 "탐색 [...]를 선택 F5에서 템플릿을 선택"무슨 뜻인지 100 % 확인 - 그래서 이것은 기본적으로 아약스 요청이 무엇입니까? 아니면 예를 들어 ui-router를 사용합니까?

새로 고침을 누르면이 요청이 '첫 번째 요청이며이 시점에서 리퍼러 헤더가 없습니다. 브라우저를 열고 URL을 처음 입력하는 것과 같습니다.

어쨌든 앱을 보호하기위한 더 나은 옵션에 대해 생각해야합니다. 리퍼러는 매우 쉽게 스푸핑 할 수 있습니다. 또한 모든 브라우저가 리퍼러 헤더를 보내지는 않습니다.

+0

나는 동의하지만 나는 PCI 팀과 싸우지 않을 것이다 !!! F5를 사용하여 REFRESH 페이지가 chrome과 firefox 사이에서 다르게 처리되는 것 같습니다. 지금은 페이지 리프레시에 리퍼러 헤더가 포함되지 않는다는 것에 만족합니다. – user1859465

관련 문제