Вариант защиты формы входа. Параноя или реальное средства от больщинства школьников?

Zivas

Новичок
Здравствуйте, сделал стандартную форму входа, но с нестандартными названиями полей, для того, чтоб лишить удовольствия хотя бы часть новоиспеченных кульхацкеров, начитавшихся уроков по брутфорсу, начинающийся словами: "Форма входа состоит, как правило, из стандартных полей ввода логина и пароля. Смотрим в коде страницы их название, копируем и в дальнейшем будем напрямую посылать данные обрабатывающему скрипту с помощью прямого POST/GET запроса использую их.". Иначе говоря, скрипт сам формирует названия для этих полей, сохраняет их в сессию, а обработчик потом из сессии достает их и с ними работает, иначе говоря, произвести авторизацию можно только с главной станицы сайта. Да обойти этот метод, вполне, возможно написав брутфорс на JavaScript, но хотя бы часть пакостников он должен отсеять. Дак вот, собственно вопрос: Насколько в реальности данный вид защиты способен выполнить отсеивание хотя бы части нежелательных посетителей? или всё же про данный вариант защиты проще сказать: "Маразм крепчал?". Есть ли более эффективный вариант защиты?

З.Ы. Что уже сделано:
1. Каждому пользователю выдается только автоматически генерированный пароль, состоящий из 6 символов : 2 цифры, 2 латинских буквы разного регистра, и 2 символов из набора("№;%: ит.д.)

2.Допускается 2 попытки ввода пароли без использования капчи, после 2 неверных попыток входа необходимо ввести капчу "recapcha".

3. вот код формы:

PHP:
<?php

function gen($name)
{
	global $forms;
	$simbols=array(1,2,3,4,5,6,7,8,9,0,'a','b','c','d','e','f');
	for( $i=0 ; $i<32 ; $i++ )
	{
		$id=rand(0,16);
		$rand_name.=$simbols[$id];
	}
	$forms[$name]=$rand_name;
	return $rand_name;
}
?>
                  <form action="view.php" method="post" target="_parent">
                      <table width="100%" border="0" cellspacing="0" cellpadding="0">
                        <thead>
                          <tr>
                            <td colspan="2">Вход в систему</td>
                          </tr>
                        </thead>
                        <tbody>
                          <tr>
                            <td>Логин:</td>
                            <td><input type="text" name="<?php echo gen('login'); ?>" size="20" maxlength="50" /></td>
                          </tr>
                          <tr>
                            <td>Пароль:</td>
                            <td><input type="password" name="<?php echo gen('pass'); ?>" size="20" maxlength="50" /></td>
                          </tr>
                          <tr>
                            <td colspan="2" align="center"><input class="enterBut" type="submit" value="Войти" /></td>
                          </tr>
                        </tbody>
                      </table>
                     </form>

<?php $_SESSION['forms']=$forms; ?>
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Проблема введения капч и прочего бреда под маркой «защиты» одна — это попытка автоматизировать труд принятия решений, что должен делать на самом деле человек, а не программа. Премодерируемые комментарии (или премодерируемые аккаунты) — решают. Активация аккаунта с помощью телефона — это кстати неплохая автоматизация премодерации аккаунтов.
 

vovanium

Новичок
А я предпочитаю использовать склонность ботов к заполнению стандартных полей, добавляя в форму фейковые поля со стандартными названиями, скрытые различными способами с помощью css. В итоге боты с удовольствием заполняют такие поля, которые обычные люди просто не видят. Конечно тоже можно научить бот такое обходить, но это уже всякая школота не потянет.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
<?php echo gen('login'); ?>
На W3с я так понимаю "с высокой горки"? =)
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
 

Zivas

Новичок
На W3с я так понимаю "с высокой горки"? =)
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
Если вас не затруднит, то опишите подробнее, что вы хотели сказать
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Zivas
тебе сказали пройти по ссылке и прочитать про то, как правильно писать name атрибуты тэгов, в соответствии с спецификацией W3C
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
gmail даёт 1 попытку без капчи,
на спецификацию по id на самом деле можно положить, все-равно верстку на валидность никто вылизывать не будет, а работает оно и так,
перейти надо не по ссылке, а в гугл с запросом "html 4.0.1", и прочитать азбуку всех веб-сайтов
 
Сверху