От: Блокиране на трафика от Индия и Пакистан
Заради проявен интерес ето моето решение:
При ползването на споделен хостинг повечето провайдъри не разрешават ползването на CURL в cron, но разрешават използването на php Curl. Ето защо си написах php скрипт, който сваля последните "дефиниции" от сайта ludost.net и генерира .httaccess файл, като в началото му добава и друг желан от нас код.
Преди да започнете си направете резервно копие на файла .htaccess!!!
1. Преименувайте файла .htaccess на .htrulez
2. Създайте си един нов файл в главната директория cronexec.php. Сложете в него следния код, като го модифицирате спрямо вашите нужди:
PHP:
<?php
$result = file_get_contents('/home/######/public_html/.htrulez');
$result .= "\n\n";
$result .='#Добавено от cronexec за блокиране на нежелан трафик от някои държави';
$result .= "\n";
$result .='###########################################################';
$result .= "\n\n";
$result .= file_get_contents('http://ip.ludost.net/cgi/process?country=1&country_list=pk+in+ph&format_template=apache-deny&format_name=&format_target=&format_default=');
file_put_contents('/home/######/public_html/.htaccess',$result);
?>
в горния скрипт трябва да се промени ###### със съответния акаунт. Тук се използва пример, който блокира трафика от Индия, Пакистан и Филипините. Това може да се променя, като се промени стойността на променливата country_list, като там се въвеждат съответно ISO кодовете на държавите от които искаме да блокираме трафика.
3. След като създадохме файла е необходимо да си направим през контролния панел и един cron job.
Ето едно ръководство как се създава cron job:
http://help.superhosting.bg/faq/20_105_bg.html
За нашият пример - командата за cron job-a ще е: /usr/local/bin/php /home/######/public_html/cronexec.php
Настройва се тази команда да се изпълнява по един път на ден или на седмица и това е.
!!!! Скрипта изтрива съществуващия .htaccess файл Както писах в началото
НАПРАВЕТЕ СИ АРХИВ!
След изтриването генерира нов, като най-отпред добавя съдържанието на файла .htrulez и след това списъка с мрежи, които да се ограничат.