Автор Тема: Помогите плз, сделать защиту топа от накруток  (Прочитано 2487 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
Привет всем,
может кто знает топ сайтов lspro. Хотелось бы сделать шлюз и закрыть хотя бы немного от накрутки. Схема примерно такая : юзер заходит по линку  gate.cgi?click=123 , в gate.cgi записывается его ИП в отдельный файл dataip.txt (файл с ИП , он обнуляется каждый час) , проверка на совпадение ИП, если совпадает - редирект на топ с пустой переменной click, если нет то ставим кук (кук живет 1 час) и редирект на gate2.cgi , здесь мы считываем кук (защита от кликер-программ) если кук тот что поставили вначале, то редирект на топ с click=123 иначе редирект с пустой переменной. Вот такая вот схема, ничего сложного, но в перле я не силен, на пхп осилил бы. Может кто состряпает мне эти 2 файла ?
Заранее спасибо.
Игорь

Оффлайн street law

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
За плату я бы сделал за два часа, а мож и за час.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
За бесплатное в падлу честно :)
А так инструкции таковы:
орываешь файл
open(DATA,"dataip.txt");
$data=;
close(DATA);
foreach(@data){if($_==$ENV{\'REMOTE_ADDR\'}){$er=1;}
}
if(!$er){ЗАПИСЫВАЕШЬ}
А ПРО КУКИ В ПАДЛУ ЧЕСТНО ПИСАТЬ
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

  • Гость
#Проверяем ip посетителя и не зашел ли он под прокси
if ( $ENV{HTTP_X_FORWARDED_FOR} ) {

   ## в переменную $ip записывается IP-адрес
   ## клиента, подключенного через прокси
   $ip = $ENV{HTTP_X_FORWARDED_FOR};
}
 else {

   ## в противном случае запишем в $ip
   ## удаленный IP-адрес клиента
   $ip = $ENV{REMOTE_ADDR};
}

#Открываем файл с ip на проверку

open (DATA,"$ip_file") || die "Не могу открыть файл $ip_file для чтения";
@IP_FIL=;
close (DATA);
foreach $pair (@IP_FIL)
   {
    ($ips,$time)=split(/\\|/,$pair);
if ($ip==$ips) {
if ($time==$realtime) {
        print "Content-type: text/html\\n\\n";

      print "

Вы уже проголосовали!!!

";

      print "
Ваш IP: $ip";
      exit;
  }
} }
##Ну а если его ip нет в файле, то записываем в него
#Записываем в ip файл текущее время
open (DATA,">$ip_file") || die "Не могу открыть файл $ip_file на запись";
print DATA "$ip\\|$realtime\\n";
print DATA @IP_FIL;
close (DATA);

С уважением, Сергей ( kwazar@volsu.ru )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28