Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Программирование

Добавить капчу в простой скрипт обратной связи. Защита от спама ботов : Программирование

24.11.2024 15:41


30.03.2015 08:52
и галочку эту нужно будет к POST или еще к чему то привязать ?
так то форму галочки добавил. но обязательная она не делается
30.03.2015 09:10
жаль, что не читаешь, что я тебе пишу...
форму когда делаешь, создаешь еще один input, галочку
потом, когда POST проверяешь, переменную галочки проверяй.
30.03.2015 09:29
Так я прочитал, как ее проверить, пока не понял
мой скрипт, вообще отправляет все письма даже не заполненные поля
на мейл приходит

письмо:
Вопрос по техники с сайта

Контактная информация:

Дата отправки 30.03.2015 09:28
Имя отправителя:
Эл. почта отправителя:
Tema вопроса: #1946 Yamaha XLT1200 2004г 103м/ч цвет: красный-белый, двигатель 2-х тактный, 1176 куб. см, 155 л/с. Реверс. На складе во Владивостоке Договорная
IP ползователя: 46.37.152.185
------------------------------------------------------------------
Собственно сам вопрос:
30.03.2015 10:03
Еще раз, сделай себе где-то форму и пойми, как она работает для начала.
30.03.2015 10:05
Ура товарищи ! я победил это зло
Обошлось без PHP
Старый добрый HTML помог.

Есть тег [COLOR="rgb(46, 139, 87)"]required[/COLOR] который как раз отвечает за заполнение поля
содрал с учебника пример
<input type="checkbox" name="option2" value="a2">Значение<br>

в итоге мой первый скрипт выглядит так

<form action="" method="post">
<table class="forms" cellpadding="0" cellspacing="0" border="0">
<?if ($_POST['email'] =='' && $_POST['message'] ==''){?>
<tr>
<td valign="top" colspan="2" style=""><h4 class="lnknreg">Есть вопросы по <?=$data['caption']['value'];?>? Свяжитесь с нами с помощью этой формы или воспользуйтесь услугой <a class="lnklpass" href="/static/2/?theme=<?=rawurlencode($subject_theme);?>">Перезвонить мне!</a>.</h4></td>
</tr>
<?}else{?>
<tr>
<td valign="top" colspan="2"><p>Ваше сообщение отправлено! Спасибо за Ваш интерес к ресурсу!</p></td>
</tr>
<?}?>
<tr>
<td align="right" valign="top" >Ваше имя: </td>
<td style="padding-left: 30px;"><input maxlength="25" type="text" name="name" value="<?=$_POST['name'];?>" style="border: 1px solid #666666;"/></td>
</tr>
<tr>
<td align="right" valign="top">Ваша эл. почта: </td>
<td style="padding-left: 30px;"><input maxlength="25" type="text" name="email" value="<?=$_POST['email']?>" style="border: 1px solid #666666;"/></td>
</tr>
<tr>
<td align="right" valign="top">Ваши вопросы относительно <?=$data['caption']['value']?>: </td>
<td style="padding-left: 30px;"><textarea cols="40" rows="8" style="border: 1px solid #666666;" name="message"><?=$_POST['message'];?></textarea></td>
</tr>

<tr>
<td></td>
<td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input required type="checkbox" name="option2" value="a2">Установите флаг, если хотите продолжить<br> </td>
</tr>

<tr>
<td>&nbsp;</td>
<td style="padding-left: 30px;">
<div class="cleare" style="padding-top: 10px;">
<input name="theme" type="hidden" size="50" value="<?=$subject_theme;?>"/>
<input type="hidden" name="user_ip" value="<?=getenv("REMOTE_ADDR");?>"/>
<input type="image" src="/templates/images/send.gif" alt="Отправить" class="absmiddle" />


</div>
</td>
</tr>
</table>
</form>
30.03.2015 10:06
Блин забыл тег SPL поставить. Олег можешь это удалить а предыдущее сообщение там где скрипт в спойлер поставить. спс
30.03.2015 10:25
required плох тем, что бот, разбирающий формы, обязательно эту галочку поставит, поскольку ты об этом его предупредил.
30.03.2015 10:30
не прошло и 5 минут опять спам от бота.
Причем .... спамит с 1 ого итого же IP, видимо прокси сервисами не умеет пользоваться.
Добавил через .htaccess его IP в бан, и буду дальше думу думать как через PHP сделать ибо бот все равно галочку поставит.
30.03.2015 11:28
Пошел пока дальше

в общем со второго скрипта вырезал необходимые части
пометил красным текстом
Скрипт:
<form action="" method="post">
<table class="forms" cellpadding="0" cellspacing="0" border="0">
<?if ($_POST['email'] =='' && $_POST['message'] ==''){?>
<tr>
<td valign="top" colspan="2" style=""><h4 class="lnknreg">Есть вопросы по <?=$data['caption']['value'];?>? Свяжитесь с нами с помощью этой формы или воспользуйтесь услугой <a class="lnklpass" href="/static/2/?theme=<?=rawurlencode($subject_theme);?>">Перезвонить мне!</a>.</h4></td>
</tr>
<?}else{?>
<tr>
<td valign="top" colspan="2"><p>Ваше сообщение отправлено! Спасибо за Ваш интерес к ресурсу!</p></td>
</tr>
<?}?>
<tr>
<td align="right" valign="top" >Ваше имя: </td>
<td style="padding-left: 30px;"><input maxlength="25" type="text" name="name" value="<?=$_POST['name'];?>" style="border: 1px solid #666666;"/></td>
</tr>
<tr>
<td align="right" valign="top">Ваша эл. почта: </td>
<td style="padding-left: 30px;"><input maxlength="25" type="text" name="email" value="<?=$_POST['email']?>" style="border: 1px solid #666666;"/></td>
</tr>
<tr>
<td align="right" valign="top">Ваши вопросы относительно <?=$data['caption']['value']?>: </td>
<td style="padding-left: 30px;"><textarea cols="40" rows="8" style="border: 1px solid #666666;" name="message"><?=$_POST['message'];?></textarea></td>
</tr>

<tr>
<td></td>
<td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input required type="checkbox" name="option2" value="a2">Установите флаг, если хотите продолжить<br> </td>
</tr>
<tr>
<tr>
<td align="right" valign="top">Секретный код: <font class="lnknreg">*</font></td>
<td style="padding-left: 30px;">
<input class="securecode_input" maxlength="6" type="text" value="" name="securecode" style="border: 1px solid #666666;"/>
<img src="/templates/images/code.php?sc=<?=$this->SecureCode();?>" alt=""/>
</td>
</tr>

<td>&nbsp;</td>
<td style="padding-left: 30px;">
<div class="cleare" style="padding-top: 10px;">
<input type="hidden" name="securecode_hash" value="<?=md5($_SESSION['code']);?>"/>
<input name="theme" type="hidden" size="50" value="<?=$subject_theme;?>"/>
<input type="hidden" name="user_ip" value="<?=getenv("REMOTE_ADDR");?>"/>
<input type="image" src="/templates/images/send.gif" alt="Отправить" class="absmiddle" />


</div>
</td>
</tr>
</table>
</form>


Код появляется, постоянно генерируется новый код.
Но код ввести можно любой и проходит.
30.03.2015 12:06
Приведи сюда полностью пример своей формы, которую ты сделал? В куске чужого кода совсем копаться не интересно.
Часовой пояс GMT +3, время: 15:41.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.