Я добавляю к моему скрипту регистрации некоторую защиту от спама.Найти записи в массиве во временном интервале
Цель состоит в том, чтобы сценарий отклонил пользователя от создания новой учетной записи, если более 10 учетных записей в базе данных соответствуют их IP-адресу, и эти десять учетных записей были сделаны за последний час.
Это позволит людям в библиотеке, например, создавать свои учетные записи, а также препятствовать людям создавать спам-аккаунты в нашей базе данных.
У меня есть следующий код, но как я могу проверить, было ли создано 10 или более учетных записей за последние 1 час?
if($count_existscheck==1) {
echo 'account already exists.';
exit();
}
if($count_existscheck==0) {
// begin check for IPs
$ip = $_SERVER['REMOTE_ADDR'];
$sql_ipcheck = "SELECT * FROM members WHERE ip='$ip'";
$result_ipcheck = mysql_query($sql_ipcheck);
$count_ipcheck = mysql_num_rows($result_ipcheck);
// if count =10 or >10, check if they were in the last hour
if($count_ipcheck>9) {
$row_ipcheck = mysql_fetch_assoc($result_ipcheck);
}
}
Вы хотите проверить IP? Это не очень надежный способ проверки учетных записей об ошибках (или 10 учетных записей в вашем случае) – brbcoding