Dynamic Things 963 Posted January 1, 2019 venho deixar aqui mais um tópico, desta vez vai ser como bloquear automaticamente uma lista de ips utilizando o cron e o php. Para começar vamos podem copiar o seguinte: <?php // Lista de Blacklist IP's $blacklist = "https://www.dynamic-things.ga/exemplo/blacklist.txt"; // .htaccess apache file $htac = rtrim($_SERVER['DOCUMENT_ROOT'], "/ ")."/.htaccess"; // Separator $line = "## BLACKLIST IP UPDATED ##"; $data = @file_get_contents($blacklist); if ($data === false || !$data) die ("<font color='red'><b>Erro!</b></font> Não foi encontrado nenhum ficheiro com o nome: $blacklist"); $htaccess = @file_get_contents($htac); if ($htaccess === false) die ("<font color='red'><b>Erro!</b></font> Não foi encontrado nenhum ficheiro com o nome: $htac no diretorio www."); $htaccess = trim($htaccess); if (stripos($htaccess, $line) !== false) $htaccess = trim(substr($htaccess, 0, stripos($htaccess, $line))); if (stripos($data, "# Copyright")) $data = substr($data, 0, strripos($data, "# Copyright")) . substr($data, strripos($data, "##############")+16); $htaccess .= "\n\n\n" . $line . "\n\n" . $data; $htaccess = trim($htaccess) . "\n\n"; $res = file_put_contents($htac, $htaccess); if ($res === false) die ("<font color='red'><b>Error!</b></font> Não foi possivel escrever a blacklist de ips no ficheiro: $htac no diretorio www da tua hospedagem. É necessario mudares as permissões do ficheiro para 0777 (comando: chmod 0777 $htac)"); else die ("<font color='green'><b>Ficheiro .htaccess atualizado com sucesso.</b></font><br>Data de atualização: " . date("r")); ?> vamos criar um novo arquivo com o nome a vossa escolha exemplo: blacklist.php e colam o código acima copiado, salvam o ficheiro. Pronto. Agora vamos a parte do cron para adicionar-mos uma cron para fazer que o nosso ficheiro blacklist.php é corrido uma vez a cada meia hora. exemplo: 30 * * * * /usr/bin/php /var/www/public_html/blacklist.php Se não tiveres o ficheiro .htaccess não vai funcionar 1 1 .ukitobi and kami4001 reacted to this Share this post Link to post Share on other sites