2012-01-13 2 views
11

URLReferrer와 쿼리 문자열에 전달 된 코드를 사용하여 유료 클라이언트 만 우리 비디오 재생 페이지에 연결할 수 있도록 온라인 비디오를 제작합니다. 이 시스템은 얼마 동안 잘 작동했습니다. 나는 URL 리퍼러가 스푸핑 될 수 있지만, 누가 비디오에 액세스하기 위해 자신의 고객에게 그런 일을하도록 말할 것인가? 그것은 우리를 위해 잘 작동합니다.페이지가 HTTPS 일 때 URLReferrer는 null입니다.

그러나 오늘 나는 그것이 작동하지 않는 사람에 대해 질문을 받았습니다. URLReferrer는 null이며 해당 사이트는 HTTPS입니다. 온라인으로 약간의 독서를했으며, 소스 페이지가 https 일 때 URL 리퍼러에 액세스 할 수있는 방법이 없다는 인상을 받았습니다. 이 올바른지 ? https 버전의 사이트를 만들었습니까? 아니면이 문제를 해결할 다른 방법이 있습니까?

감사합니다.

답변

13

귀하의 온라인 조사는 정확합니다. HTTP 리퍼러 헤더 또는 이와 동등한 것을 설정하지 않은 주된 이유는 이것이 보안 문제 일 수 있기 때문입니다. 리퍼러에는 "나와있는 곳"이 포함되어 있습니다.이 정보는 개인 정보이므로 다른 사람에게 노출되어서는 안됩니다. 그렇지 않은 경우 모두가 현재 위치를 추적 할 수 있다면 보안 사이트를 사용하는 것은 무엇입니까?

그래서 : 리퍼러가 (SSL 또는 다른 방법으로) 암호화되어 있으면 리퍼러를 가져올 수 없습니다.


업데이트 : 의뢰 한 페이지가 보안 프로토콜로 전송 된 경우

클라이언트가 (비보안) HTTP 요청에 리퍼러 헤더 필드를 포함해서는 안 : 여기가 HTTP specification says about coming from a secure site거야.

짐작 하셨겠지만이 제한 사항은 없습니다. 유일한 옵션은 다른 확인 모델을 사용하는 것입니다. 그러한 방법 중 하나는 사용자에게 키를 제공하고이를 요청과 함께 매개 변수로 보내도록 요청하는 것입니다. 몇 가지 다른 방법을 생각할 수 있습니다.

+0

감사합니다. 키의 문제는 단순히 누군가가 링크를 복사하여 자신의 페이지에서 복사하여 사용할 수 있다는 것입니다. 이것이 우리가 피하려고하는 것입니다. 동영상이므로 명확한 해결책은 동영상을 자신의 페이지에 삽입하고 재생 페이지로 연결하지 못하게하는 것입니다. – cgraus

+0

[HTTPS 사양] (http://tools.ietf.org/html/rfc2818)이 아닌 HTTP 사양을 인용했습니다. – Bruno

+0

@ 브루노 : 당신은 ' 맞아, 나는 충분한주의를 기울이지 않았다. 결정된. – Abel

관련 문제