[help] защита на сессиях

Статус
В этой теме нельзя размещать новые ответы.
ну хоть это как реализовать? =) напиши плз!!

Ну типо того:

PHP:
<?php

session_start();

if ($_SERVER ['REQUEST_METHOD'] == 'POST') {
	if($_SESSION['sec'] == $_POST['sec']) {
		//Выполняем правильно действие
	} else {
		echo 'Повторная отправка формы';
	}
}

$_SESSION['sec'] = MD5(microtime());

?>

<form action="" method="post" enctype="application/x-www-form-urlencoded">
<input name="sec" type="hidden" value="<?php echo $_SESSION['sec'];?>">
<label>Введите число:<label> <input name="" type="text"></label>
<label><input type="submit" value="Отправить"></label>
</form
 
DIAgen

И человек не сможет отправить 2 формы пока не перелогиниться? Сомнительная польза.

Лучше не более одного сообщения в минуту.

Ломается просто - слать только первый идентификатор времени всегда :). Даже если не знаешь кода, вычислить подобное поведение легко.

Но опять же. А разве спамботам нужно слать второй раз? Увидел форму заполнил/послал и пошел дальше.
 
DIAgen

И человек не сможет отправить 2 формы пока не перелогиниться? Сомнительная польза.

Лучше не более одного сообщения в минуту.

Ломается просто - слать только первый идентификатор времени всегда :). Даже если не знаешь кода, вычислить подобное поведение легко.

Но опять же. А разве спамботам нужно слать второй раз? Увидел форму заполнил/послал и пошел дальше.

Человек сможет отправить много раз если будет нажимать F5, проверено много кратно, можно так же сделать как и ты сказал не более одног сообщения в менуту.

И это не защита от спам ботов, я просто привер пример как можно при помощи сессий предотварить повторную отправку формы.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху