2012-07-05 2 views
1

모든 신규 사용자에게 표시 할 소개 메시지를 설정하고 싶습니다. 그것은 어떻게 든 그들의 정보 (쿠키? IP 주소?)를 저장하여 (이상적으로) 메시지를 두 번 보지 못하게해야합니다. 나는 그것이 쿠키로 가능하다는 것을 안다. 그러나 이것을하는 가장 신뢰할 수있는 방법은 무엇인가?웹 사이트에 새로운 방문자를 안전하게 검색하십시오.

감사합니다.

+2

생각하지 마세요. 쿠키 만 사용하십시오. 사용자가 쿠키를 정기적으로 삭제하면 이러한 팝업이 반복해서 나타나는 결과를 이해할 수 있습니다. – Chris

답변

0

이렇게하려면 Server Side Scripting을 사용해야합니다. Javascript가 비활성화 될 수 있으므로 더 이상 신뢰할 수 없습니다.

PHP는 간단한 것이다 - 당신은 데이터베이스에 사용자의 IP 주소와

<?php 
    $IP = $_SERVER['REMOTE_ADDR']; 
    $UA = $_SERVER['HTTP_USER_AGENT']; 
?> 

스토어 정보를 사용자 에이전트 (UA)를 읽을 수 있으며 사용자를 추적 할 수 있습니다. 그것과 쿠키를 결합하십시오 (그러나 이것은 사용자가 삭제할 수 있습니다). 그리고 당신은 꽤 좋은 추적 솔루션을 가지고 있습니다.

<?php 
    // Set a cookie 
    $userID = 'something'; 
    setcookie('UID', $userID); 

    // Read a cookie 
    echo($_COOKIE['uid']); 
?> 

쿠키에 대한 정보는 http://php.net/manual/en/function.setcookie.php에서 확인하십시오.

+1

사용자의 IP 주소가 규칙적으로 바뀌거나 (심지어 일부 프록시에서 발생하는 모든 요청이 있더라도) 많은 경우가 있기 때문에 쿠키가 더 신뢰할 수 있다고 쿠키를 사용한다고 가정합니다. 하나의 IP 주소 뒤에있는 사용자. 쿠키는 각 컴퓨터 (브라우저 실제로)에 대한 것이며, 사용하지 못하게하는 동안 사용하지 않는 쿠키를 확인하고 팝업이 표시되지 않는 경우는 사소한 것입니다. – Stecman

+0

사실입니다. 개인적인 취향에 맞춰 졌을 것 같습니다. 사용자가 쿠키에 저장하는 키를 사용하여 세션을 데이터베이스에 저장합니다. 데이터베이스는 세션을 시작한 사용자의 IP로만 작업 할 수 있도록 해당 키를 잠급니다 (사용자가 세션을 영구 로그인으로 지정하지 않은 경우). IP 변경 문제를 해결할 것 같습니다. (모바일 장치와 관련된 실제 문제) – cstrat

+0

또 다른 문제는 로컬 저장소가 사용자 브라우저에서 항상 사용 가능한 것은 아니라는 것입니다. 보안 정책 및 레거시 브라우저가 여기에 문제를 제기 할 수 있습니다. – cstrat

관련 문제