Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не подскажите как вам??

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Leaderss
Отправлено: 11 Ноября, 2013 - 13:31:04
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Скажите хороший ли это код?? Для защиты от спама

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(empty($_COOKIE['anti']) && $_COOKIE['closeanti'] == 0)
  3. {
  4.         setcookie('anti', 1,time() + 60);
  5. }
  6. else if($_COOKIE['anti'] != 20 && $_COOKIE['closeanti'] == 0)
  7. {
  8.         $s = $_COOKIE['anti'];
  9.         setcookie('anti', 1+$s, time()+60);
  10. }
  11. else if($_COOKIE['anti'] == 20 && $_COOKIE['closeanti'] == 0)
  12. {
  13.         setcookie('anti', '', time() - 60);
  14.         setcookie('closeanti', 1, time() + 300);
  15. }
  16. else if($_COOKIE['closeanti'] == 1)
  17. {
  18.         header('Location: ');
  19.         return 1;
  20. }
  21. ?>
 
 Top
imya
Отправлено: 11 Ноября, 2013 - 13:53:10
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


Помог: 19 раз(а)




А почему бы не сделать массив разрешённых куки и проверять уже массив ? Парой строк.


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
Leaderss
Отправлено: 11 Ноября, 2013 - 13:54:23
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Не подскажешь пожалуйста как это сделать. Буду благодарен
 
 Top
imya
Отправлено: 11 Ноября, 2013 - 13:55:50
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


Помог: 19 раз(а)




Увы, не подскажу, я сам в куках не осведомлён.

Может подойдут более опытные люди и подскажут тебе правильный вариант.


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
esterio
Отправлено: 11 Ноября, 2013 - 14:09:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




imya
Здесь немного другое ТС делает. Он не проверяет разрешенные кукы.
Как я понял из кода сдесь имитируеться таймаут между запросамы.

Но думаю для более-менее опытного програмиста на курле обходиться в две секунды. Здесь более подойдет настройка nginx или iptables на количество разрешенных коннектов подряд с одного IP
 
 Top
Leaderss
Отправлено: 11 Ноября, 2013 - 14:12:35
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Но мне для новичка нормально код написан.
 
 Top
EuGen Администратор
Отправлено: 11 Ноября, 2013 - 14:17:25
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Leaderss пишет:
хороший ли это код??

Плохой. Отсутствующий cookie-header в соответствующем HTTP-Request разрушит всю подобную защиту. И - да, роботы шлют через cURL, им не нужно стирать куки в браузере.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
imya
Отправлено: 11 Ноября, 2013 - 14:26:16
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


Помог: 19 раз(а)




esterio пишет:
imya
Здесь немного другое ТС делает. Он не проверяет разрешенные кукы.
Как я понял из кода сдесь имитируеться таймаут между запросамы.


Я не эксперт, так что не спорю. Спасибо за объяснение кода выше Улыбка


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB