Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2012, 15:56   #1
Nostalgia
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 44
По умолчанию Защита от спама формы регистрации

Доброго времени суток,
создала форму регистрации, начал приходить спам по 70 писем в день, как можно от этого избавится, помогите пожалуйста, я в этом деле новичек, читала разные статьи, но точно не знаю куда и какой код вставить, буду очень признательна, тк уже не знаю что делать((

есть форма:
Код HTML:
<form action="myscripts.php" method="post">
	<table border="0">
		<tbody>
			<tr>
				<td><b>Ваше ФИО:</b><br />
				<input name="test1" size="50" type="text" /></td>
			</tr>
			<tr>
				<td><b>Ваш e-mail:</b><br />
				<input name="test3" size="30" type="text" /></td>
			</tr>
			<tr>
				<td><b>Ваш телефон:</b><br />
				<input name="test4" size="30" type="text" /></td>
			</tr>
			<tr>
				<td> <b>Выберите курс, на который желаете зарегистрироваться: </b><br />
				<select name="spisok">
				<option selected="selected" value="Мастер-класс Александра Митты">
				Мастер-класс Александра Митты</option>
				<option value="Практическая теория света Александра Носовского">
				Практическая теория света Александра Носовского</option>
				<option value="Режиссура и продюсирование короткометражного кино">
				Режиссура и продюсирование короткометражного кино</option>
				<option value="Мастер-класс Марка Тревиса для режиссеров и актеров">
				Мастер-класс Марка Тревиса для режиссеров и актеров </option>
				<option value="Трехдневный мастер-класс Нила Ландау">
				Трехдневный мастер-класс Нила Ландау</option>
				<option value="Раскадровка и монтажная съемка">
				Раскадровка и монтажная съемка</option>
				<option value="Жанры кино. Зачем их знать, чтобы написать и продать свой сценарий?">
				Жанры кино. Зачем их знать, чтобы написать и продать свой сценарий?</option>
				<option value="Киногрим. Практический семинар">
				Киногрим. Практический семинар</option>
				<option value="Как запустить свой кинопроект. Продюсерский семинар Алексея Крола.">
				Как запустить свой кинопроект. Продюсерский семинар Алексея Крола.</option>
				<option value="Мифология кинематографа. Кемпбелл. Сказочные сюжеты Проппа">
				Мифология кинематографа. Кемпбелл. Сказочные сюжеты Проппа</option>
				<option value="ОПЕРАТОРСКОЕ ИСКУССТВО - ПРАКТИЧЕСКИЙ СЕМИНАР">
				ОПЕРАТОРСКОЕ ИСКУССТВО - ПРАКТИЧЕСКИЙ СЕМИНАР</option>
				<option value="Структура комедии">
				Структура комедии</option>
				<option value="Мокьюментори - вовлечение в псевдореальность. Минимум затрат - максимум саспенса">
				Мокьюментори - вовлечение в псевдореальность. Минимум затрат - максимум саспенса</option>
				<option value="Операторское искусство глазами режиссера (повтор).Сергей Мокрицкий">
				Операторское искусство глазами режиссера (повтор).Сергей Мокрицкий</option>
				<option value="Герой - за что мы его любим (повтор)">
				Герой - за что мы его любим (повтор)</option>
				<option value="Структура романтической комедии (повтор)">
				Структура романтической комедии (повтор)</option>
				</select>
				</td>
			</tr>
			<tr>
				<td><textarea cols="40" rows="7" name="aboutme">Напишите немного о себе </textarea></td>
			</tr>
			<tr>
				<td><input name="test6" value="Зарегистрироваться" type="submit" /><br />
				<input name="test7" value="Очистить" type="reset" /></td>
			</tr>
		</tbody>
	</table>
</form>
PHP код:
<?php
header
("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.mitta.ru/"); /* Redirect browser */
mail("admin@mitta.ru, nostalgia21@mail.ru","Регистрация на курсы Александра Митты","На сайте был зарегистрирован новый пользователь. \n
Его Фио: 
{$_POST['test1']}. \n
Его e-mail: 
{$_POST['test3']}. \n
Телефон: 
{$_POST['test4']}. \n 
Был выбран курс: 
{$_POST['spisok']} \n 
В качестве дополнительной информации было указано следующее: 
{$_POST['aboutme']} ","Content-type:text/plain; charset = windows-1251\r\n");
if (isset(
$_POST['submit']))
{
  
$aCountries $_POST['spisok'];
  if(!isset(
$aCountries))
  {
    echo(
"<p>Вы не выбрали ни один курс!</p>\n");
  }
  else
  {
    
$nCountries count($aCountries);
    echo(
"<p>Вы успешно зарегистрированы");
    for(
$i=0$i $nCountries$i++)
    {
      echo(
$aCountries[$i] . " ");
    }
    echo(
"</p>");
  }
}

?>
Nostalgia вне форума Ответить с цитированием
Старый 26.08.2012, 16:12   #2
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

http://www.captcha.ru/kcaptcha/
Lesha вне форума Ответить с цитированием
Старый 26.08.2012, 16:16   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как можно от этого избавится
Думаю самое простое - поставить при регистрации капчу. Хотя-бы от превентивных ботов избавит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.08.2012, 01:29   #4
yaskin
Форумчанин
 
Регистрация: 10.01.2011
Сообщений: 112
По умолчанию

Можно добавить скрытое поле. Роботы будут его заполнять, а реальный пользователь нет.
Для спасибо весы слева
yaskin вне форума Ответить с цитированием
Старый 27.08.2012, 08:23   #5
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

yaskin, ну ну если бот будет написан на заказ специально для этого сайта, то ваш метод только лишний код в странице сайта!
Кольша вне форума Ответить с цитированием
Старый 28.08.2012, 23:12   #6
vulk
 
Регистрация: 28.08.2012
Сообщений: 8
По умолчанию

можно добавить капчу или хотя бы текстовое поле, куда надо ответ на вопрос вписать. Например, сколько будет 77+3 = ?
Правильный ответ зашифровать и сохранить в куки, а потом сравнить с ним.

на странице формы:

PHP код:
$one rand(99);
$two rand(9);
setcookie('answer'md5($one+$two)); 
Код HTML:
<tr>
				<td><b>Сколько будет <? echo $one.' + '.$two ?> ?</b><br />
				<input name="qu" size="50" type="text" /></td>
</tr>
и в обработке формы проверить правильно ли ввели ответ

PHP код:
if (md5($_POST['qu']) == $_COOKIE['answer']) {
    
// правильно
} else {
    
// неверно

vulk вне форума Ответить с цитированием
Старый 29.08.2012, 09:03   #7
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Кольша Посмотреть сообщение
yaskin, ну ну если бот будет написан на заказ специально для этого сайта, то ваш метод только лишний код в странице сайта!
Когда для "моего говносайта" ботов на заказ писать будут, тут и капча не особо поможет.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парольная защита формы ismoil3005 Общие вопросы Delphi 13 25.04.2012 19:19
Вёрстка формы регистрации Che Guevara HTML и CSS 6 09.04.2012 20:34
Защита от спама в форумах phpBB2 Arigato Обсуждение статей 6 25.10.2010 15:16
статья - Защита от спама в форумах phpBB2. САРТСНА Pblog Обсуждение статей 0 02.07.2010 18:20
Защита формы паролем Илюха Общие вопросы Delphi 7 29.09.2007 20:53