2010-08-25 3 views
5

둘 다 들어오는 URL을 반환합니다. 알고 싶을 때 Request.UrlReferrer을 사용할 때와 Request.ServerVariables["HTTP_REFERER"]을 사용하는 이유는 무엇입니까?Request.UrlReferrer를 사용하고 Request.ServerVariables [ "HTTP_REFERER"]를 사용하는 경우?

현재 내 응용 프로그램 중 하나 인 Urlreferrer가 로컬 컴퓨터에서 작동하지만 라이브가 작동하지 않습니다.

또한 누구나 Urlreferrer와 HTTP_REFERRER의 대안을 안내 할 수 있다면 가장 좋습니다.

답변

4

마지막 질문에 답하십시오. Request.UrlReferrer는 Uri 객체를 반환하므로 UrlReferrer의 형식이 잘못된 경우 예외가 발생합니다. 그것은 이상하게 보입니다 만, 몇 번이나 가지고 있습니다. HTTP_REFERER는 문자열입니다.

+0

+1 그리고이 대답을위한 감사합니다. @fravelgue가 정확하다면, 당신은'UrlReferrer' 속성에 접근하려고 시도 할 때 HTTP 헤더의 리퍼러에 대한 잘못된 uri가'UriFormatException'을 일으킬 것입니다. 예를 들어 내 대답을 참조하십시오 : http://stackoverflow.com/questions/11878458/httpcontext-current-request-servervariableshttp-referer-null?nah=1#28845912 – rsbarro

0

라이브 상황에서 Request.ServerVariables[]이 작동합니까? 이 둘은 동일하다는 것이 나의 이해입니다.

프록시 서버 및 방화벽 (서버, 클라이언트 또는 ISP 중 어디에서든지)이 리퍼러를 스트립 할 수 있습니까?

+0

방화벽이 없다는 것을 확인했습니다. –

+0

@Gaurav : 로컬에서 테스트 한 결과 (현재 작동 중) 이제 "다른"사용자가 생기면 해당 사용자 (또는 ISP)가 방화벽 등을 가질 수 있습니다. –

+0

현재 이것은 우리 자신의 네트워크에 살고 있고 사용자들은 잘 작동하는 동일한 네트워크에서 왔습니다. 그러나 살기에 그것의 작동하지 않는 –

관련 문제