문제

필요 시도하고 스푸핑 HTTP_REFERER 통과 다른 페이지 그 대상 페이지를 내가 결정할 수 있는 요청에서 나오는"올바른"페이지를 수행하는 적절한 논리입니다.

  1. 나는 어떻게는에 자바스크립트(AJAX)?
  2. 을 할 수 있는 것에 ASP.Net?

TIA rams

도움이 되었습니까?

해결책

일반적으로 말하면, 다른 브라우저가 악용, 플러그인 또는 기타 확장없이 허위 HTTP_Referer를 반환 할 수 없습니다. 웹 브라우저에서 전송 된 값을 수정하고 Firefox를 사용하고 있다면 헤더를 수정하십시오 확대.

어쨌든, 당신은 http_referer가 정확한 것에 의존해서는 안됩니다. 당신이받는 http_referer가 가짜가 아니거나 단순히 보내지 않았다는 보장은 없습니다.

다른 팁

대상 페이지에서 요청이 "오른쪽"페이지에서 오는지 여부를 테스트하려면 참조자를 스푸핑 할 필요가 없습니다. 다른 페이지에서 요청을 발행하기 만하면됩니다. "오른쪽"이 고려되는 것과 다른 URL로 페이지를 설정하고 대상 페이지에 대한 링크를 클릭하거나 대상에서 소스 된 이미지를 넣어 요청을 발행합니다.

그것은 이미 언급되는 것을 정말 스푸핑 것들입니다.그러나 명확히 하기 위해,HTTP_REFERER 헤더가 생성됩 에 의해 브라우저, 그래서 서버 측의 것을 제어할 수 없습니다 그(것을 포함하여 나눠 자바스크립지 않을 수도 있습니다 또는 사용할 수 있).

하려는 경우에는 반응을 테스트 귀하의 페이지의 특정 헤더에(같은"Referer:"),사용할 수 있는 명령행 도구 wget 에서 사용할 수 있는 가장 BSD,Linux 개(포함한 OS/X)를 사용하는 경우 MS 윈도우,당신이 얻을 수있는 컬 또는 wget 사용 Cygwin.

    wget -O - --referer="http://example.com/some/path" http://example.com/

    curl -e "http://example.com/some/path" http://example.com/

그러나 당신의 핵심은 이유로 이 일을 하는 것은 분명히"보호"페이지,나는 생각한다.당신이 정말 있는지 확인하려면 페이지(전화"B")는 단지 많이 방문한 후 다른 어떤 페이지를("A")가 처음 방문,당신이 더 필요한 복잡한 논리에 있습니다.

저장할 때 세션 쿠키,다음을 포함할 수 있습니다 몇 가지 논리에서 페이지"A"설정하는 boolean 변수입니다.다음에 추가 논리에서 페이지"B"를 확인하는지 확인하는 변수가 설정되어 있습니다.

나는 그것을 떠나라는 운동에 대한 독자는 그 작업을 수행하는 방법을 이해에 ASP.NET.(기 때문에 내가 PHP 프로그래머입니다.;-])

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top