2013-07-01 2 views
0

항목을 구입할 때 무작위 데이터를 나중에 일치하는 쿠키에 임의로 삽입하여 해당 구매자에게만 액세스 할 수있는 미디어 상점을 만드는 중입니다. 해당 브라우저에서 해당 항목/미디어 따라서 한 사용자가 항목을 구매하면 액세스 권한에 삽입 된 하나의 세트 번호와 위치 권한을 위해 브라우저 쿠키에 삽입되는 하나의 임의 번호가 있습니다. 항목을 구입하기 전에 다른 브라우저 나 컴퓨터로 미디어에 액세스하려고하면 추가 방향을 위해 직원에게 연락 할 때까지 미디어에 액세스하지 못하도록 잠겨 있습니다. 사용자가 쿠키 코드 (임의 번호)없이 미디어에 액세스하려고하면 브라우저 나 다른 브라우저에서 액세스 할 수없는 코드가 생성됩니다. (액세스 잠금)무작위로 생성 된 숫자가 일치하는 숫자를 만드는 것을 방지하는 방법

내 관심사는 발전기가 임의의 코드를 두 번 생성하면 충돌이 발생한다는 것입니다. 어떻게 방지 할 수 있습니까?

쿠키가 사용되는 방식이 아니기 때문에 이것이 작동하지 않는다면 지금 시작하기 전에 알려주세요. 아이디어 내에 머무르는 동안 이것을 코딩 할 수있는 다른 방법을 제안하십시오.

고맙습니다.
모든 도움말을 환영합니다.
더 나은 방법이 있다면 제안을 환영합니다.

+0

는 IP와 쿠키에이 데이터를 넣어? 가능한 경우 사용자가 차단하는 것이 훨씬 쉽습니다. –

+0

사용자가 쿠키를 삭제하거나 쿠키를 사용 중지하면 어떻게됩니까? 나는 데이터베이스가 저장 장치에 더 적합 할 것이라고 생각하며, 매체 대신 사용자에게만 제한하는 것이 더 낫다 고 언급한다. 데이터베이스를 사용하면 이미 생성되었는지 확인하고 이미 사용되지 않은 것을 얻을 때까지 새 데이터베이스를 재생성 할 수 있습니다. –

+0

[uniqid] (http://www.php.net/uniqid)와 같이 고유 한 ID 생성기를 사용하여 충돌이 발생할 가능성을 줄일 수 있습니다. –

답변

0

첫 번째 쿠키가 더 이상 우호적 인 상태가 유지되도록 최선의 아이디어와 난수가 아닙니다. IP 잠금을 사용하려고 시도합니다. 위치의 만료 날짜가있는 쿠키에 IP를 저장하십시오. 쿠키와 MySQL 테이블을 사용하십시오. 2 테이블 하나는 ipa를 저장합니다. 111.111.111,32 쉼표 뒤에있는 숫자는 각 영화마다 고유 한 ID를 가지며 각 영화마다 다른 쉼표를 넣고 다른 영화에는 다른 쉼표와 ID를 입력하고 각각 수행하십시오. 필름에 ID를 저장하고 ID를 확인하고 페이지의 필름 ID가 쿠키의 ID와 일치하는지 확인하고 쿠키가 mysql 테이블과 일치하면 클라이언트가 사용할 필요가있을 때 더 안전하고 친숙해진다. 그가 할 수있는 다른 브라우저와 브라우저의 ip가 mysql 테이블에있는 것과 일치하면이 브라우저에 쿠키를 설정한다. 나는 이것이 당신을 위해 풀 수 있다고 생각한다. 피하기 위해이 동일한 토큰이

<?php 
$token = sha1(rand(1,999999)); 
$_Token = sha1($token); 
$token = $_POST['filmid']; 
$ip = $_SERVER['REMOTE_ADDR'] 
$cd = $ip, $token, $_Token; 
setcookie("$token", $cd); 
?> 

사용하고 다음 사용자 또는 브라우저/컴퓨터를 제한하려고

관련 문제