Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Интересная капча со смайлами

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
n1k86
Отправлено: 28 Октября, 2011 - 18:07:36
Post Id


Частый гость


Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Привет всем. Опять я, и у меня снова есть вопросы, которые меня озадачили.

Я делаю капчу, которая будет выводиться, типа:
Цитата:

Выберите удивлённый смайл:
• Картинка улыбающегося смайла
• Картинка удивлённого смайла
• Картинка злого смайла


И если пользователь правильно выбирает, то пропускаем.

Теперь что касается тех. части. В общем, в таблице captcha есть 6 полей : id, quest, smile1, smile2, smile3, yes.
• В id записывается... ну понятно...
• В quest записывается 1 слово, типа удивлённый или злющий илисердитый и т.д.
• В smile1 записывается html-код с уже готовым линком на 1 картинку смайла.
• В smile2 записывается html-код с уже готовым линком на 2 картинку смайла.
• В smile3 записывается html-код с уже готовым линком на 3 картинку смайла.
• В yes записывает html-код с уже готовым линком на картинку смайла ПРАВИЛЬНОГО ВАРИАНТА ОТВЕТА.

И так, едем дальше.

Пишу следующий код:

PHP:
скопировать код в буфер обмена
  1.  
  2. //Узнаём сколько всего у нас вопросов и делаем рандомный id строки.
  3.   $how = mysql_result(mysql_query("SELECT COUNT(*) FROM captcha"), 0);
  4.   $_SESSION['captcha_id'] = mt_rand(1, $how);
  5.      
  6. //Загоняем в массив данные с id, который был сгенерирован.
  7.    $result = mysql_fetch_assoc(mysql_query("SELECT * FROM captcha WHERE id='".$_SESSION['captcha_id']."'"));
  8.  


Он работает нормально, и как бы всё понятно сделано, в принципи.
Дальше делаю форму:

PHP:
скопировать код в буфер обмена
  1.  
  2. //Форма для отправки сообщения.
  3.   echo '<form method="post">
  4.  Сообщение:  <textarea name="message" maxlenght="1024"></textarea><br />';
  5.   echo 'Выберите '.$result['quest'].' смайл:<br />'; //Определяем какой нужен смайл
  6.   echo '<input type="radio" name="smile" value="что нужно сюда загнать?">'.$result['smile1'].'
  7.  <input type="radio" name="smile" value="что нужно сюда загнать?">'.$result['smile2'].'
  8.  <input type="radio" name="smile" value="что нужно сюда загнать?">'.$result['smile3'].'<br /> //Собственно варианты выбора, где присутствует 1 правильный.
  9.  <input class="button" name="submit" type="submit" value="Отправить">
  10.  </form>';
  11.  


Дальше сталкиваюсь с такой проблемой. В поле input есть значение value, в которое я почему-то не могу загнать значение переменной $result['smile*номер картинки*'], чтобы потом при проверке капчи сравнивать значение той самой переменной со значением поля yes из таблицы.

Возникает вопрос: Как в значение value засунуть переменную или как сделать подругому проверку правильности выбора? Помогите, пожалуйста.
(Добавление)
хм... сменил одинарные кавычки на двойные и всё пошло как по маслу....хм....взяли на заметку на будущее))) Всем спасибо!)

(Отредактировано автором: 28 Октября, 2011 - 18:27:59)

 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Октября, 2011 - 16:23:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




n1k86 пишет:
удивлённый или злющий или сердитый
n1k86 пишет:
Узнаём сколько всего у нас вопросов
И сколько их? 10? 20?
N = кол-ву вопросов.
От 1 до N секунд с учетом времени запрос-ответ (общения с серваком) и капчу я прошел. Я даже менять ничего не буду. Тупо стану выбирать первый вариант.
 
 Top
n1k86
Отправлено: 29 Октября, 2011 - 16:27:33
Post Id


Частый гость


Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Ну так выбирай, кто тебе мешает-то??))) Тем более, она сделана так, что как-раз на первую строчку меньше всего правильных ответов. Даже если ты будешь так постоянно нажимать, то тебя остановит анти-спам, которых запрещает посылать сообщения чаще, чем раз в 30 секунд. Из этого следует, что ты просто устанешь спамить)))
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Октября, 2011 - 16:38:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Я не устану. Я вообще ничего не буду делать.
Спамить будет скрипт. Круглые сутки.
После того как я построю табличку всех твоих вариантов, скрипт будет проходить любую комбинацию с первого раза.
И каждые 40 сек будет вешать новый спам.
 
 Top
n1k86
Отправлено: 29 Октября, 2011 - 16:39:54
Post Id


Частый гость


Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Если мыслить так, как мыслишь ты, то таким способом проходится любая каптча.
(Добавление)
Тем более, она генерируется рандомно, понимаешь?
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Октября, 2011 - 16:42:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Нет, не любая.
Убери слово "удивлённый" из текста вопроса, и скрипт не будет знать какой выбрать.
(Добавление)
Да плевал скрипт на твое "рандомно"
 
 Top
n1k86
Отправлено: 29 Октября, 2011 - 16:43:12
Post Id


Частый гость


Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Если я уберу, то как я буду проверять строку-то? Он и так не будет знать какой вариант выбирать. Всё генерируется рандомно!
 
 Top
new01
Отправлено: 29 Октября, 2011 - 16:44:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




n1k86, сам придумал? Мне нравится! Капча со смайлами)


-----
new01
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Октября, 2011 - 16:44:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Мне бота написать?
Давай целевой адрес.
 
 Top
n1k86
Отправлено: 29 Октября, 2011 - 16:45:07
Post Id


Частый гость


Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




new01, Сам придумал))) Спасибо))) Но это не полный код, тут только отрывки.
(Добавление)
DeepVarvar, на локалке всё...
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Октября, 2011 - 16:49:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




n1k86 пишет:
на локалке всё...
не ну ты ж не веришь..
Хрен с ним с неверием. Сам подумай и поймешь.
 
 Top
n1k86
Отправлено: 29 Октября, 2011 - 16:53:27
Post Id


Частый гость


Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Я верю, но ты лучше бы сказал, как защититсяУлыбка
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Октября, 2011 - 16:54:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




С твоим принципом вывода капчи - никак.
 
 Top
n1k86
Отправлено: 29 Октября, 2011 - 16:56:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 160
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Скажи, как сделать по-другому, но безопасней?
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Октября, 2011 - 17:00:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




DeepVarvar пишет:
Убери слово "удивлённый" из текста вопроса
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB