2009-08-15 1 views

답변

0

양식을 ajax this을 통해 제출하는 경우 꽤 좋은 자료입니다.

1

예. 양식 처리 페이지가 데이터베이스에 사용 된 횟수를 데이터베이스에 기록하고 x 사용이 기록 될 때 양식을 사용 불가능하게하십시오.

1

x 사용 횟수 나는 실제로 이 x 번에을 제출했다고 가정합니다. 양식이 제출되고 유효성 검사를 통과 할 때마다 증가하는 세션 카운터를 가질 수 있으며 한계에 도달하면 추가 제출 시도를 방지 할 수 있습니다.

0

불행히도 여기에는 확실한 방법이 없습니다. 가장 좋은 방법은 쿠키를 저장하는 것이지만 분명히 쿠키를 지울 수 있습니다. 자신의 IP 주소를 자신의 사용자 에이전트 (브라우저 등)와 결합 (md5) 한 다음 데이터베이스에 저장하여 일종의 또 다른 고유 문자열/ID를 만들 수도 있지만 그럴 필요가없는 사람들을 거부 할 수 있습니다 거절 당했다.

2

PHP의 경우 빠르고 간단합니다.

페이지를 방문 할 때마다 카운터가 증가합니다. 횟수가 너무 많으면 die() 페이지를 의미합니다. 누군가이 양식을 제출할 때만 실행될 수있는 장소에이 코드를 넣을 수 있습니다.

매번 카운트를 재설정합니다.

알려진 버그 : 쿠키를 삭제하면 쿠키가 손상되어 쿠키가 깨집니다.

<?php 

session_start(); 

if(!isset($_SESSION['count'])) 
{ 
    $_SESSION['count'] = 1; 
    $_SESSION['first'] = time(); 
} 
else 
{ 
    // Increase the Count 
    $_SESSION['count']++; 
    // Reset every so often 
    if($_SESSION['first'] < (time() - 500)) 
    { 
     $_SESSION['count'] = 1; 
     $_SESSION['first'] = time(); 
    } 
    // Die if they have viewed the page too many times 
    if($_SESSION['count'] > 100) 
    { 
     die("You have submitted to many times"); 
    } 
} 

이것은 사용자마다 솔루션을 제공해야합니다. 그것은 전체 사이트 일이 있다면, 그냥 코멘트와 나는 삭제됩니다.