imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 19.06.2006, 18:27     # 1
gost2
Banned
 
Аватар для gost2
 
Регистрация: 03.03.2003
Адрес: Германия
Сообщения: 415

gost2 Мелкий засранец
Добавить проверочный код в форму.

Подскажите, пожалуйста, как добавить простой проверочный код в форму отправки сообщения? Желательно без php, HMTL и cgi.
gost2 вне форума  
Старый 19.06.2006, 18:34     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
На HTML проверочных кодов не бывает, только на JavaScript. CGI это вообще не из той оперы, так как PHP тоже может работать через CGI. А теперь к делу - какой проверочный код?
RaZEr вне форума  
Старый 19.06.2006, 22:50     # 3
gost2
Banned
 
Аватар для gost2
 
Регистрация: 03.03.2003
Адрес: Германия
Сообщения: 415

gost2 Мелкий засранец
Мне нужно вставить код-картинку с проверкой для отправной формы, чтобы нельзя было отправлять сообщения в гостевую книгу автоматом. Зафлудили гады всё жутко. Не успеваю удалять.
gost2 вне форума  
Старый 19.06.2006, 23:26     # 4
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
В принципе можно сделать и с JavaScript....
Самое простое наверное, нарисовать 10 картинок с надписями от 0 до 9 (лучше даже несколько экземпляров одной цифры), потом при выводе на экран вызываешь функцию типа rand (думаю в яваскрипте она есть), и запоминаешь те цифры, которые тебе дал rand (или несколько rand'ов), затем выбираешь нужные картинки, выводишь их на экран пользователю для того, чтобы он ввел код, чтобы проверить правильный ли он код ввел нужно сделать <form onSubmit="function();"> где function - функция на яваскрипте, проверяющая правильность ввода информации...
Все это хорошо действует, только если пользователь отключит яваскрипт, то все это обходится, надежнее (и правильнее делать на php), по сути тоже самое, только проверка происходит на стороне сервера, т.е. клиент не может получить доступ к исходникам самой проверки
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 20.06.2006, 00:31     # 5
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Боты не выполняют js. Поэтому ф-ия проверки на js даже вызвана не будет.

Чтобы не флудили, просто переименуй скрипт, который добавляет новое сообщение. Это поможет на некоторое время.
RaZEr вне форума  
Старый 20.06.2006, 14:24     # 6
gost2
Banned
 
Аватар для gost2
 
Регистрация: 03.03.2003
Адрес: Германия
Сообщения: 415

gost2 Мелкий засранец
Цитата:
RaZEr:
Чтобы не флудили, просто переименуй скрипт, который добавляет новое сообщение. Это поможет на некоторое время.
Делал так. Буквально на 3 дня хватило.
Я попробовал бы вставить и Java, и php, но я в них ничего не понимаю.
Может видел кто-то уже готовый код php или Java для вставки?
gost2 вне форума  
Старый 20.06.2006, 14:34     # 7
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Раз ничего не понимаешь, просто выбери другую гоcтевую книгу в описании которой есть "flood protection":

http://www.hotscripts.com/PHP/Script...oks/index.html
RaZEr вне форума  
Старый 20.06.2006, 16:04     # 8
gost2
Banned
 
Аватар для gost2
 
Регистрация: 03.03.2003
Адрес: Германия
Сообщения: 415

gost2 Мелкий засранец
У меня там 36 разделов. Я ищу простое решение - вставить код в шаблон, что-то чуток поправить и всё.
Менять всю систему - это слишком.
gost2 вне форума  
Старый 20.06.2006, 16:19     # 9
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Простого решения здесь нет. Как минимум это ручная правка кода, и добавление туда необходимой функциональности.
RaZEr вне форума  
Старый 20.06.2006, 18:04     # 10
gost2
Banned
 
Аватар для gost2
 
Регистрация: 03.03.2003
Адрес: Германия
Сообщения: 415

gost2 Мелкий засранец
RaZEr, это как раз устраивает. Не попадался готовый вариант подобного кода?
gost2 вне форума  
Старый 21.06.2006, 11:48     # 11
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
RaZEr:
Боты не выполняют js. Поэтому ф-ия проверки на js даже вызвана не будет.
Не будет, но это если проверку на onSubmit вешать. Но ведь можно попробовать сыграть какраза на другом, то что боты и не выполняют JS код!!

Тоесть, почти то же что написал Naked, только не при сабмите проверять циферки, а функцией проверять циферки и сабмитить форму уже в ней, если правильно.

Таким образом получим какраз простую защиту, если <input type=submit...> заменим на <input type=button onclick="какраз функция проверки и сабмита"...>. Тоесть конечно, защита это обойдется, если какой-то робот захочет парсить JS код и разбирать его.... но нужно ли это какому-то спамеру, если гостевая небольшая. Скорее всего они спамят просто "наширокую", по скрипту гостевой...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 21.06.2006, 12:27     # 12
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Погоди, боты ведь даже не смотрят страницу с формой. Они просто формируют POST и кидают его серверу. То есть, без серверной проверки получаемых данных не обойтись.
RaZEr вне форума  
Старый 21.06.2006, 22:34     # 13
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
RaZEr:
Погоди, боты ведь даже не смотрят страницу с формой. Они просто формируют POST и кидают его серверу. То есть, без серверной проверки получаемых данных не обойтись.
Ну нужно конечно смотреть конкретно как организована гостевая, но как они могут не смотреть форму, они же должны ее загрузить и распарсить, хотябы для того, чтобы выдрать оттуда параметры типа в какую тему постят, в какой раздел, в ответ на что и т.д... Согласен, с циферками врядли такое получится (был не прав), но вот если дынное на JS вписывать, тоесть не в hidden-поле скажем сразу писать раздел, а на JS присвоить это значение, то простейшаязащита все-таки выйти может от автоматов.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.

Последний раз редактировалось Hubbitus; 21.06.2006 в 22:36.
Hubbitus вне форума  
Старый 25.06.2006, 12:39     # 14
gost2
Banned
 
Аватар для gost2
 
Регистрация: 03.03.2003
Адрес: Германия
Сообщения: 415

gost2 Мелкий засранец
Hubbitus
Цитата:
тоесть не в hidden-поле скажем сразу писать раздел, а на JS присвоить это значение
Объяснишь как это сделать?
Код прилагаю:
Цитата:
<TABLE bgcolor=F4f0f4 ALIGN="center" BORDER="0" WIDTH="700" HEIGHT="236" cellpadding=0 cellspacing=1>
<tr>
<td VALIGN=top>
<table width="700" HEIGHT="236" border="0" cellspacing="0" cellpadding="3" bgcolor="#F4f0f4" name="newmes">
<TR>
<TD bgcolor=F4F0F4 colspan="4" width="700">
<font size=1 FACE="MS Sans Serif"><center><BIG><B>*</B></BIG> помечены поля, обязательные для заполнения.</center></font>
</TD>
</TR>
<tr>
<td width="100" align=center>
<b><font FACE="MS Sans Serif" size="2">Имя<BIG>*</BIG></font></b>
</td>
<td width="250">
<input type="text" name="name" style="width=250; background-color:#FFFFFF; border-width: 1px; margin:">
</td>
<td width="100">
<div align="right"><b><font FACE="MS Sans Serif" size="2">E-mail</font></b></div>
</td>
<td width="250">
<input type="text" name="email" style="width=250; background-color:#FFFFFF; border-width: 1px; margin:">
</td>
</tr>
<tr>
<td width="100" align=center>
<b><font FACE="MS Sans Serif" size="2">URL</font></b>
</td>
<td width="250">
<input type="text" name="homepage" style="width=250; background-color:#FFFFFF; border-width: 1px; margin:">
</td>
<td width="100">
<div align="right"><b><font FACE="MS Sans Serif" size="2">Город, Страна</font></b></div>
</td>
<td width="250">
<input type="text" name="field1" width=250 style="width=250; background-color:#FFFFFF; border-width: 1px; margin:">
</td>
</tr>
<tr>
<td width="100"><b><font FACE="MS Sans Serif" size="2"><center>Текст объявления<BIG>*</BIG></center></font></b>
</td>
<td colspan="3" width="600">
<textarea name="text" rows="7" cols="70" style="width=600; background-color:#FFFFFF; border-width: 1px; margin:"></textarea>
<font size=1 FACE="MS Sans Serif"><center>Для выделения текста <font FACE="MS Sans Serif" size=2><i>курсивом</i></font>, для <font FACE="MS Sans Serif" size=2><b>жирного</b></font>.
Ссылки скрипт выделяет сам.</center></font>
</td>
</tr>
<tr align="center">
<td colspan="4">
<input type="submit" value="Отправить" style="border-width=1px" name="submit">
<input type="reset" style="border-width=1px" name="reset" value="Сброс">
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</TR>
</table>
</form>
<table>
<tr>
<td valign=top>
<center>
gost2 вне форума  
Старый 25.06.2006, 14:25     # 15
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
Думаю, что имелось следующее - между тегами <form> и </form> вписывается такой кусочек кода (куда-нибудь) :
Цитата:
<input type=hidden name=test value=0>
А в теге <form> вписываем следующее: <form onSubmit="test();" name=main>
В самом начале можно сделать яваскрипт:
<script>
document.main.test.value = 1;
</script>
А соответственно в процедуре test(); проверять чему равно значение test:
<script>
test (){
if (document.main.test.value==1) return true;
return false;
}
</script>

Только это не от чего не спасает, ибо если отключен яваскрипт, то вся эта проверка -коту под хвост а если посылается прямо прямым запросом, то действительно только на сервере и можно проверить.. но если это сделать с яваскритом через hidden параметр, как я написал выше, то получится уже неплохая защита....
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 27.06.2006, 13:49     # 16
gost2
Banned
 
Аватар для gost2
 
Регистрация: 03.03.2003
Адрес: Германия
Сообщения: 415

gost2 Мелкий засранец
Цитата:
но если это сделать с яваскритом через hidden параметр, как я написал выше, то получится уже неплохая защита
Как это конкретно осуществить подскажешь? Что куда и как встаялять?
gost2 вне форума  
Старый 11.07.2006, 11:01     # 17
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Naked:
Думаю, что имелось следующее...
Нет, совсем не то что было следующее у тебя.

gost2, показал бы хотябы свою гостевую (адрес), что мы беспредметный разговор ведем. И в PHP-код полюбому придется внести исправления тоже, хотя и минимальные.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 12.07.2006, 14:21     # 18
gost2
Banned
 
Аватар для gost2
 
Регистрация: 03.03.2003
Адрес: Германия
Сообщения: 415

gost2 Мелкий засранец
Hubbitus, я думал, что этого фрагмента достаточно. Сама книга вот: http://www.helpnic.agava.ru/cgi-bin/...ok.pl?banner-1
gost2 вне форума  
Старый 13.07.2006, 09:34     # 19
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Ну я правда рассчитывал немного на другое, но уд ладно.

Итак, в кратце о чем я говорил:
Там в форме есть параметр (который ты какраз и не привел выше) - <input type=hidden name=book value=banner>, от него зависит куда именно постится сообщение. Дак вот, простейшую защиту я предлагал на JS организовать следующим образом. Предполагается что без этого параметра (или с неверным), сообщение не может попасть в гостевую. Значит тогда НЕ записываем в него значение на стороне сервера (что там у Вас, PHP, PERL?), а оставляем просто пустым (ну или скажем инициализируем каким-то другим значением, скажем так: <input type=hidden name=book value=SPAM>), а дальше, при проверке каких-то условий на JS, пусть тех же картинок как предлагалось выше, тогда только, средствами JS присвоим нужное значение. Таким образом, получается что просто запрос на постинг от робота, не выполняющего JS, не приведет к посту.

Повторяю и еще раз обращаю внимание: Естественно это простейшая защита, если какому-то роботу понадобится это обойти, то просто посмотрят как защита организована на JS, и обойдут. Однако, врядли эта гостевая будет кому-то так нужна, чтобы менять алгоритмы, скорее всего большинство просто выбросит адрес из СПАМ-листа.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 13.07.2006, 21:09     # 20
gost2
Banned
 
Аватар для gost2
 
Регистрация: 03.03.2003
Адрес: Германия
Сообщения: 415

gost2 Мелкий засранец
Да, мне нужна именно простая защита. Именно то о чём ты говоришь. Но я так и не понял как конкретно это организовать.
gost2 вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 12:00.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.