No necesitas guardar la IP, solamente la hora en que realizo la ultima descarga. Las sesiones pueden almacenarse en el servidor y/o en la PC del usuario, mediante cookies. Mas info en el
Manual de PHP
Código php:
Ver original// Las siguientes dos lineas son solo para establecer el tiempo limite
$minutos = 1; // Cambias este si deseas bloquear por mas tiempo
$bloquear = time() + ($minutos * 60);
// Verificas y bloqueas
// isset() es para verificar si ya existe la variable (solo cuando ya descargo algo)
// Despues se compara si ya transcurrio el tiempo limite
if(isset($_SESSION['bloquear']) && $_SESSION['bloquear'] > $bloquear) { // Aqui entra solo cuando tiene que esperar para realizar otra descarga
die('No puedes descargar todavia, intenta mas tarde.'); }
// Si llego hasta aqui, es porque si puede descargar
// Entonces, se vuelve a establecer la variable, para que no descargue nuevamente
// Hasta que haya pasado el tiempo seleccionado
$_SESSION['bloquear'] = time();
// Aqui continuas normal