Автор Тема: IP  (Прочитано 3121 раз)

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

  • Гость
IP
« : 27 Ноября 2001, 15:14:47 »
Как очистить файл с IP и вообще что чистить надо?

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
А зачем?
« Ответ #1 : 27 Ноября 2001, 16:56:32 »
Цитировать
Как очистить файл с IP и вообще что чистить надо?

Все данные в файле polldata.txt
Строка с ip:

ip[~]0|0|0|0|0|0|0|0|0|0

это "чистая запись", кол-во нулей кол-во проверяемый ip.
При создании нового голосования, все данные автоматически обнуляются.
 в исканиях.

  • Гость
Проблема в том, что многие не могут голосовать по причине того, что сидят за фаерволом :(

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Вот
« Ответ #3 : 06 Декабря 2001, 17:25:50 »
Есть два варианта:
первый, или запоминать лишь один ip (в sbt.cfg устанавливается $ip_check=1;)
Или чтоб не проверять вообще, надо сделать вот что:

vote.cgi
строка 49 (подпрограмма main):
$check=&check_me;
ее нужно закомментировать, т.е. поставить перед ней #:
#$check=&check_me;

далее:
utils.pl, подпрограмма modify_poll_var
с 86 строки по 95 идет блок:

Цитировать

if ($old_key eq \'ip\'){
         #Save ip
         #Get last voting ips
         @my_ip= split (/\\|/,$old_val);
         unshift(@my_ip,$ENV{\'REMOTE_ADDR\'});
         if (($#my_ip+1)>$ip_check){pop @my_ip}
         $old_val=join("|", @my_ip);
         $newdata .=$old_key."\\[~\\]".$old_val."\\n";
      }
      elsif ($old_key eq \'total\'){
         $old_val +=1;
         $newdata .=$old_key."\\[~\\]".$old_val;
      }

меняем его на это:
Цитировать

if ($old_key eq \'total\'){
         $old_val +=1;
         $newdata .=$old_key."\\[~\\]".$old_val;
      }



Все. В sbt.cfg переменной $ip_check не стоит присваивать 0, лучше оставить там какое-нибудь значение (по умолчанию, там 10).
 в исканиях.

  • Гость
А как быть с куками?
« Ответ #4 : 12 Декабря 2001, 16:32:46 »
Сделал как сказано - всё работает, но.....
Теперь полная свобода накрутчикам :((((

Как бы это завязать с куками? А то совсем напасть какая-то :(((

Проблема с фаерволами - это насущная проблема. :(

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
сейчас
« Ответ #5 : 12 Декабря 2001, 17:18:33 »
Цитировать
Как бы это завязать с куками? А то совсем напасть какая-то ((

Да... перестарался я :)


Цитировать
vote.cgi
строка 49 (подпрограмма main):
$check=&check_me;
ее нужно закомментировать, т.е. поставить перед ней #:
#$check=&check_me;

этого трогать не надо.
Т.е. не надо комметировать, надо оставить
$check=&check_me;
 как есть.
А свой взгляд обратить на подпрограмму sub check_me (в том же файле):
Цитировать
$your_ip=$ENV{\'REMOTE_ADDR\'}||(return 1);
if ($my_vars{\'ip\'} =~ /$your_ip/){return 1;}

вот эти две строки надо закомментировать (или удалить), тогда останется только проверка по кукам.
 в исканиях.

 

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