Коментари - флоод защита

eddy

Registered
Как да сложа защита за флоод.

Примерно след съобщение трябва да се изчака 10 сек за да пуснеш ново : )

Другото което е как да си защитя системата за коментари от хакери и други защити пак против хакери ?
 
За защита на коментарите,единственната защита трябва да е срещу XSS атаки..
Аз правя следните 2 неща:
1. Филтрирам входните данни ( htmlspecialchars(); , addslashes() и т.н)
2. Забранявам символите "<" и ">" (разбира се ако е някои форум или сайт ,които се пишат някакви скриптове и т.н ,можеш да сложиш BB кодове - това е най-сигурното)
 
xmmm каза:
За защита на коментарите,единственната защита трябва да е срещу XSS атаки..
Аз правя следните 2 неща:
1. Филтрирам входните данни ( htmlspecialchars(); , addslashes() и т.н)
2. Забранявам символите "<" и ">" (разбира се ако е някои форум или сайт ,които се пишат някакви скриптове и т.н ,можеш да сложиш BB кодове - това е най-сигурното)
Той говори за flood защита. Получава се, когато пуснеш съобщение и дадеш "refresh" на страницата и съобщението е дублирано. Погледни този урок.
 
Angry каза:
xmmm каза:
За защита на коментарите,единственната защита трябва да е срещу XSS атаки..
Аз правя следните 2 неща:
1. Филтрирам входните данни ( htmlspecialchars(); , addslashes() и т.н)
2. Забранявам символите "<" и ">" (разбира се ако е някои форум или сайт ,които се пишат някакви скриптове и т.н ,можеш да сложиш BB кодове - това е най-сигурното)
Той говори за flood защита. Получава се, когато пуснеш съобщение и дадеш "refresh" на страницата и съобщението е дублирано. Погледни този урок.

Също иска и :

"Другото което е как да си защитя системата за коментари от хакери и други защити пак против хакери ?"
 
Направил съм филтрирането на входните данни само.То е просто само едно поле и добавяш коментари.Мерси на всички но не разбрах само как да си направя примерно за коментар чак след 10 сек. да пускаш след стария.

Линка който даде iCreativers си мисля , че с него може да стане това нещо , но си нямам и на идея как да го вържа кода.Ако може да го направите , ще постна кода : )
 
И аз лично не го схващам много този урок... Мисля, че ако си го сложиш в един файл и после само го include ще стане, но не съм сигурен! ;)
 
Това е да не ти дублира коментара на мен ме интерисува как след 30 секудни чак тогава кода ти позволява да пишеш коментар.
 
Еми нали записваш време timestamp. Проверяваш последно записания коментар от дадения потребител и почваш да броиш 30 сек. Когато отминат просто позволяваш да се прати заявката.
 
Ех, ако няма примери не можете се оправите


PHP:
$query = mysql_query("SELECT * FROM `comments` WHERE `username` = '{$_SESSION['username']}'");
$row = mysql_fetch_assoc($query);

if(time()+30 <= $row['timestamp']){
         //Добавяш коментара
}
else{
       //Не правиш нищо или изкарваш съобщение.
}

comments - таблицата с коментарите
username - потребителя който е писал коментара
timestamp - записваш времето, когато е записан самия коментар
 
Обаче при мен е без да имаш регистрация , тоест ще ми трябва да е по ИП този стамп ..
 

Back
Горе