사용자의 출처를 확인할 수 있습니까? 예를 들어, 클라이언트에게 배너와 링크를 제공합니다. 클라이언트는 배너/링크를 모든 웹 사이트에 올릴 수 있으며 www.domain.com이라는 사이트를 지정할 수 있습니다.PHP에서 사용자가 유입 된 경로를 추적 하시겠습니까?
사용자가 배너를 클릭하면 그가 어디에서 왔는지 (www.domain.com) 알 수 있습니까?
사용자의 출처를 확인할 수 있습니까? 예를 들어, 클라이언트에게 배너와 링크를 제공합니다. 클라이언트는 배너/링크를 모든 웹 사이트에 올릴 수 있으며 www.domain.com이라는 사이트를 지정할 수 있습니다.PHP에서 사용자가 유입 된 경로를 추적 하시겠습니까?
사용자가 배너를 클릭하면 그가 어디에서 왔는지 (www.domain.com) 알 수 있습니까?
HTTP_REFERER 변수를 살펴보십시오. 사용자가 사이트를 방문하기 전에 사용자가 어떤 사이트에 있는지 알려줍니다.
예. 클라이언트에게 www.yourdomain.com/in/e10c89ee4fec1a0983179c8231e30a45
과 같은 고유 URL을 제공합니다. 그런 다음 데이터베이스에서 이러한 URL과 액세스를 추적하십시오.
진짜 문제는 순 방문자를 추적하는 것입니다.
그것이 클라이언트에 의해 설정되어로이 있지만
$_SERVER["HTTP_REFERER"]
항상 신뢰할 수 없지만 당신이 경우에 상관하지 않을 수 있습니다 참조하십시오.
유일한 기회는 gnud가 지적한 고유 한 ID를 사용하는 것입니다. 이 방법을 사용하면 연결 링크를 추적 할 수 있습니다. 리퍼러는 브라우저 또는 프록시에서 변경/제거 될 수 있습니다 (많은 회사에서 그렇게 함).
고유 방문자를 추적하기 위해 IP를 사용하는 것은 좋지 않습니다. AOL은 여전히 IP를 풀링하고 몇 분마다 서로 다른 IP를 사용할 수 있으며 프록시를 통해 카운트가 정확하지 않을 수 있습니다.
고유 ID를 사용하십시오.
$ _SERVER [ "HTTP_REFERER"]는 register_globals bool을 on으로 설정하여 php (php.ini)를 구성한 경우에만 작동합니다.
레지스터 전역은 느슨하게 코딩 된 PHP 응용 프로그램에서 악용 될 수 있습니다. 일반적으로 사용자가 데이터를 게시 할 수있는 앱입니다.
저는 과거에 다음과 같은 방법을 사용하여 연산자 입력을 제어하는 응용 프로그램의 리퍼러를 확인했습니다.
session_start();
if(!isset($_SESSION['url_referer']))
{
$_SESSION['url_referer'] = $_SERVER['HTTP_REFERER'];
}
세션 변수에 문자열을 해싱하지 않으면 더 효율적인 방법을 알지 못합니다. 누구든지 모범 사례를 알고 있습니까?
가장 정밀한 감사를
브래드
사용자는 리퍼러 정보를 전송하지 브라우저를 알 수 있습니다. – gnud
사용자는 이미지를 표시하지 않도록 브라우저에 지시 할 수도 있습니다. 그 일에 관해 할 수있는 일은 아무것도 없습니다 – Marius
그럼 어떻게해야합니까? HTTP_REFERER를 사용하고 있습니까? 다른 방법이 있습니까? – bbtang