2009-09-10 3 views
0

ASP.NET 웹 응용 프로그램의 서버 로그에서 리퍼러 정보에 액세스하는 방법이 있습니까?ASP.NET 웹 응용 프로그램에서 웹 서버 로그에 액세스 할 수 있습니까?

고객이 특정 사이트에서 내 웹 앱을 방문하고 그에 따라 앱의 동작을 변경하는지 알고 싶습니다. 나는 다른 사이트의 웹 마스터에게 쿼리 문자열을 포함시킬 수도 있지만 Tom, Dick 또는 Harry가 다른 곳에 링크를 게시하자마자 쿼리 문자열이 신뢰할 수 없기 때문에 내 지식으로는이 방법이 작동하지 않습니다.

웹 앱이 사용자의 출처를 알 수있는 확실한 방법이 있습니까?

+0

을 의존 할 수 없다. 90 %는 Google이 될 것입니다 –

답변

1

왜 로그 파일 대신 HTTP_REFERER에 대한 요청 호스트 헤더에 액세스하지 않았습니까? here을 참조하십시오. 그러나이 정보를받을 수있는 것은 결코 보장 할 수 없으며 신뢰할 수있는 정보도 아닙니다.

+0

로그에서도 신뢰할 수 없습니다. 결코 그것에 대해 생각하지 않았습니다. – plntxt

+0

또한 많은 로그가 캐시되므로 요청한 정보가 요청이 완료 될 때까지 디스크에 기록되지 않을 수 있습니다. – chris

+0

정보는 궁극적으로 전적으로 클라이언트가 작성하는 요청 헤더에서 파생되므로 매우 위조하기 쉽고 모두 삭제하기가 쉽습니다. – annakata

0

공유 환경을 사용하고 있습니까? 일반적으로 로그를 요청하면 Plesk 또는 이와 유사한 옵션이 제공됩니다. 로그 디렉토리는 아마도 루트 http 폴더에서 하나 또는 두 개의 폴더가 될 것이므로 IIS 사용자를 사용하여 액세스 할 수 없을 수도 있습니다.

전용 서버에서이 구성을 수동으로 수동으로 구성 할 수 있습니다.

+0

전용입니다. 코드를 사용하여 해당 정보에 즉시 액세스 할 수있는 방법이 있습니까? 기껏해야 털이 많은 것 같습니다. 왜냐하면 로그를 분석해야 할 것 같아서 이제는 생각할 것입니다. – plntxt

+1

본문과 질문 제목 대신이 질문에 작은 글자를 읽을 필요가 있습니다. 쓸모없는 변호사를 만들 것입니다. –

+0

@ 짐 - 로그가 즉시 작성된다는 보장이 없습니다.로드가 발생하면 요청이 실제로 로그에 기록 될 때까지 몇 분이 걸릴 수 있습니다. 엔트리의 타임 스탬프가 정확합니다. –

4

Request.UrlReferer 속성을 확인하고 리퍼러가 사이트의 페이지가 아닌 경우 동작을 변경하지 않는 이유는 무엇입니까?

IIS 로그를 참조하는 것보다 훨씬 간단합니다.

+0

그게 내가 찾고있는거야. 감사. – plntxt

+0

WebRequest를 만들기위한 것입니다. 사용자가 어디서 왔는지 HttpRequest.UrlReferer를 원합니다.) –

+0

Whoa, nice catch, thanks :) –

1
Request.UrlReferrer.AbsoluteUri 

은 서버 로그와 동일합니다. 아마도 querystring 변수와 UrlReferrer의 콤보가 올바른 소스에서 나온 것인지 확인하는 최선의 작업을 수행 할 것입니다.

UrlReferrer가 클라이언트에 의해 보내졌으며 거기에있을 수 있다고 보장 할 수 없습니다.

+1

사용자가 직접 URL을 입력하고 북마크 등을 클릭하면 null이 될 수 있습니다. –

2

HttpRequest.UrlReferer 개체를 통해 리퍼러 정보에 액세스 할 수 있습니다. 당신이주의해야하지만

:

이가 null 수
  1. - 그래서에 absoluteURI가를 호출하기 전에 널 (null)을 확인합니다.
  2. 이 상당히 쉽게 변경할 수 있습니다, 그래서 당신은 당신은 Google 웹 로그 분석 당신의 추천인을 보는 가장 쉬운 방법을 찾을 수 있습니다 완전히에
+2

실제로 이것은 null보다 상당히 심각 할 수 있습니다. 이는 "Anti-spyware Program X로 대체되었습니다"라는 것이 분명합니다. 또한 URL이 아니므로 결과적으로 예외가 발생합니다. 매우 짜증나. – annakata

+0

@annakata : 오치, 좋은 캐치 - 나는 전에 그걸 보지 못했다. –

관련 문제