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 :: Как установить капчу (проект EXOCAPTCHA) на форме регистрации?

 PHP.SU

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


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

> Описание: php только учусь...
Алтенрион
Отправлено: 28 Сентября, 2012 - 22:47:40
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012  
Откуда: Москва, Россия


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




Уважаемые модераторы, форумчане, прогрмисты и кодеры...

В php я не силен, но в связи с необходимостью разработки собственного веб ресурса и в связи с неимоверным интересом к этой технологии, стараюсь в нем разобраться и активно лезу в коды и пытаюсь аккуратно внедрять различные скрипты как собственноручного изобретения, так и найденные в сети и отредактированные под свой проект.

Суть моей проблемы:

... Для оформления формы регистрации на мероприятия на своем сайте решил установить CAPTCHA для более менее простой защиты своей базы данных от лишнего спама. В данный момент его нет и не особо прогнозируется... и все-таки решил подстраховаться.

В сети перерыл много статей по поводу установки Капчи на страницу сайта, и набрел на ресурс " http://www[dot]e-xo[dot]ru/ ". Собственно проект привлек якобы простейшей методикой инсталяции КАПЧИ на сайт, что я и решил проверить.

Собственно для инсталляции приводились соответствующие файлы и инструкция :

Цитата:


Добавить на странице внутри Вашей формы (внутри тэга <FORM>)
поле для ввода кода с картинки:
<input name="test" type="text" size="10">
и скрытые поля:
<input name="captcha" type="hidden" value="*************************************">
<input name="id" type="hidden" value="***************************************">





На саму форму регистрации картинку генерирующуюся и форму ввода ответа добавил без проблем. Но как всегда есть свои "но".

В инструкции по добавлению обработки капчи сказано следующее:

Цитата:


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

Считать переданные параметры запроса: captcha, id, test

Обработать результат запроса
http://www.e-xo.ru/cgi-bin/captchatest.dll?captcha=[CAPTCHA]&id=[ID]&test=[TEST]&key=7CBA1***************************
где параметр key — секретный ключ.
Если запрос вернул 0, значит значение [TEST] совпадает со значением кода на картинке.
Если запрос вернул 1, значит значение [TEST] не совпадает со значением кода на картинке.

Запрос с дополнительным параметром type=xml
http://www.e-xo.ru/cgi-bin/captchatest.dll?captcha=[CAPTCHA]&id=[ID]&test=[TEST]&key=7CBA1***************************&type=xml
возвратит результат в формате XML:
<captcha>
<result>0</result>
</captcha>



Если у кого есть время вникнуть в принцип этой Капчи, убедительная просьба объяснить мне новичку как все-таки обрабатывается эта капча, ну или просто помочь с кодом для моего обработчика.

Насколько я понимаю изначально требуется объявить понятные php переменные, которым следует присвоить параметры переданные методом POST из формы. Для этого следует объявить :

CODE (php):
скопировать код в буфер обмена
  1.  
  2.  
  3.         $captcha=$_POST['captcha'];
  4.         $id=$_POST['id'];
  5.         $test=$_POST['test'];
  6.  
  7.  


Но дальше я не знаю как справится с ней. Мне не хватает основных представлений о пхп и о принципе работы Капчи , как я понимаю. Убедительная просьба помочь. Очень хочу Разобраться как с этой проблемой, так и научиться лучше программировать на пхп.

Буду очень признателен всем!!! Радость
 
 Top
ZeiZ
Отправлено: 28 Сентября, 2012 - 23:43:53
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


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




Цитата:
Если запрос вернул 0, значит значение [TEST] совпадает со значением кода на картинке.
Если запрос вернул 1, значит значение [TEST] не совпадает со значением кода на картинке.


Должно быть наоборот ИМХО!

Освойте http://www[dot]captcha[dot]ru/ или капчу от самой корпорации добра http://www.google.com/recaptcha. Первая для реализации внутри проекта (никаких удалённых запросов), вторая ... гарантия uptime сервиса.

Там и мануал понятнее и реализация проще и защита получше и настроек больше. Будут проблемы пишите в личку. Не надо изобретать велосипед и пользоваться сомнительными сервисами.
 
 Top
Алтенрион
Отправлено: 29 Сентября, 2012 - 00:11:59
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012  
Откуда: Москва, Россия


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




ZeiZ пишет:


Должно быть наоборот ИМХО!

Освойте http://www[dot]captcha[dot]ru/ или капчу от самой корпорации добра http://www.google.com/recaptcha. Первая для реализации внутри проекта (никаких удалённых запросов), вторая ... гарантия uptime сервиса.

Там и мануал понятнее и реализация проще и защита получше и настроек больше. Будут проблемы пишите в личку. Не надо изобретать велосипед и пользоваться сомнительными сервисами.


Благодарю за столь скорую реакцию на мой пост. Постараюсь ближайшее время ознакомится с указанными вами источниками. В любом случае отпишу здесь разобрался или нет. Надеюсь на ваше понимание поддержку. Ушел читать. Улыбка







(Добавление)
Изучил материал касательно Google recaptcha и CAPTCHA предоставленные выше. От гугл варианта в итоге отказался. Внимательно прочитал всю информацию, пролистал все коды, но по дизайну настраивать данное чудо не нашел как, а если быть точнее то сомневаюсь что возможно. Для меня дизайн этого элемента весьма важен, поэтому и привлек мое внимание проект EXOCAPTCHA.

Касательно CAPTCHA , скачал необходимые файлы, нашел файл настройки. Но пока думал как распорядится файлами лежащими в скачанной директории заболела голова и сначала ушел серфить google на тему как установить ЭТУ капчу, а потом и вовсе переключился на другие технические вопросы которые требуется мне доработать в сайте. Сделал страницу вывода данных из БД для оперативного просмотра новоприбывших пользователей ресурса и тд...

Уважаемые товарищи! Кто занимался установкой и настройкой этого элемента, убедительная просьба окажите содействие и подскажите касательно следующих вопросов:


Есть соответствующая директория файлов Капчи:



kcaptcha --->
    fonts (папка)
    util (папка)
    form_example.php
    index.php
    kcaptcha.php
    kcaptcha_config.php




Некоторые элементы настройки Капчи были обнаружены в файле kcaptcha_config.php (как и следовало ожидать из названия).


Единственным не очень ясным параметром в настройках оказалось следующее:

CODE (php):
скопировать код в буфер обмена
  1. # JPEG quality of CAPTCHA image (bigger is better quality, but larger file size)
  2. $jpeg_quality = 90;



Суть непонятности для меня - какой максимальный и минимальный параметр, и что означает параметр 90. В каких единицах измеряется данное качество изображения? Как изменится внешний вид от изменения параметра и на чем именно отразится( кроме того что указанно в скобках) ?

Далее, Очень хотелось бы что бы кто нибуть знающий подсказал как правильно распихать эти файлы. Полистав выдачу Гугл на тему КАПЧИ понял что вопросов по ней много и таких же блуждающих с портала на портал людей с одними и теми же вопросами очень и очень много.

Возможно кто-то уже делал развернутые ответы на такой вопрос как установить капчу на сайт или знает место где такое можно прочесть и разобраться. Буду очень благодарен за понимание и содействие. Я не хочу зря занимать ваше время, но, все-же, очень рассчитываю на вашу помощь. Растерялся

(Отредактировано автором: 29 Сентября, 2012 - 01:50:22)

 
 Top
ZeiZ
Отправлено: 29 Сентября, 2012 - 03:21:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


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




90 - это качество сжатия jpeg файла - он же капча на выходе. Если поставишь 10, то сам поймешь, что изменилось. (это в %)
Капча имеет очень простой и в то же время эффективный (от злоумышленников) код.
Моя реализация http://www[dot]captcha[dot]ru/ можно посмотреть тут http://www[dot]anrush[dot]ru/index.php?a[dot][dot][dot]ter&type=fiz (не реклама), не хитрым движением капча превращается только в сильно пиксилизированные цифры на (!) прозрачном фоне!
(Добавление)
Можно по f5-тить и посмотреть весь её потенциал в шрифтах, волнах и пр. Как не старался, abby finerader угадывает от 0 до 2 символов из неё, и то рандомно и с ошибками. Но вообще мой вам совет: капча убивает желание людей что-то делать на сайте. Пока нет проблем, лучше обойтись силами ручного модерирования. Как только пойдёт поток с которым Вы или Ваша команда не сможет справиться, тогда нужна будет капча. Посмотрите на крупняк: фейсбук, яндекс, гугл - они давно уже отказались от капчи в пользу более продвинутых идей.
 
 Top
Алтенрион
Отправлено: 29 Сентября, 2012 - 05:19:30
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012  
Откуда: Москва, Россия


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




Уважаемый ZeiZ!

Посмотрел вашу реализацию - понравилось ))...

Насчет того, что убивает желание и по возможности лучше заменить чем-то иным - согласен, с небольшими оговорками.

В моем случае есть желание установить капчу на форму регистрации на мероприятие. Это не форма регистрации на сайт или какая-то постоянно заполняемая одним и тем же пользователем форма статистики. Ее заполняет пользователь, чтобы обозначить себя как потенциального гостя , и делает каждый это единожды.

Насчет потока и плохих дядек хацкеров и ботоюзеров... Пока нас они не посещали, ввиду специфичности контента нашего ресурса. Медицина не особенно провоцирует этих ребят на то чтобы покопаться в наших базах =))). Тем не менее проект будет расширяться и требуется вести клиентскую базу и хранить информацию более менее надлежащим образом. Установка всевозможных фильтров на формы ввода и прочие меры обеспечения защиты были приняты, но капча устанавливается как контрольная точка дабы сделать эту лазейку чуточку надежнее хотя бы от спама.

Насчет причины проявления несамостоятельности в решении данной проблемы - ответ прост: Совмещение в одном человеке различных ролей в ведении одного проекта, приводит к перегрузке черепно мозгового процессора, и абсолютной блокировке поступающих потоков информации.
Иными словами, когда требуется вести переговоры с клиентами, обсуждать и реализовывать технические составляющие портала, и прочее, на углубление в какие либо отдельные части или технологии нет физической возможности.

Писать сайты на php и подключать таблицы бд mysql, делать всевозможные запросы и фильтры по параметрам и прочее это одно, а сесть и покопаться в каждой части отдельно и полноценно, на это требуется погружение и осознанная трата времени.

Убедительная просьба. Если вы делали уже себе Капчу из файлов этого ресурса, распишите пожалуйста что и куда залить?!...

Имеется директория на хостинге, все скрипты php в данный момент незатейливо лежат один к другому в корневой папке, изображения как учили в старой школе в папке img... Java script пока вовсе не востребован. Все части сайта реализованы в php. CMS не используется. Главная страница по умолчанию index.php и html формы ввода данных обрабатываются в соответствующем скрипте php обработчике.

Убедительная просьба! Прошу, будьте снисходительны. Я крайне редко пишу на форумах, но крайне часто их читаю. И решение любой проблемы, которую не могу решить, начинаю с поиска информации касательно теории, и заканчиваю форумами и блогами ... и в крайних случаях создаю свои посты, как это сделал сегодня.

Прошу, объясните что к чему. Буду очень признателен. Огорчение
 
 Top
Алтенрион
Отправлено: 29 Сентября, 2012 - 17:16:11
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012  
Откуда: Москва, Россия


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




Ап!
 
 Top
Tmin10
Отправлено: 29 Сентября, 2012 - 17:24:52
Post Id



Частый гость


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


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




Использую kcapcha на своём сайтике после того, как стали спамить боты в комментариях, установка заняла полчаса вроде в своё время, юзерам она понятна, простые боты её не обходят, вот пример картинок: http://tmin10[dot]ru/img/capcha/ (можно пообновлять)
На конкретные вопросы по этой капче могу ответить.

(Отредактировано автором: 29 Сентября, 2012 - 17:25:47)

 
 Top
Алтенрион
Отправлено: 29 Сентября, 2012 - 17:27:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012  
Откуда: Москва, Россия


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




Имеются ли у нее возможности до настройки "под дизайн" так сказать?

И из каких элементов кода она состоит...
 
 Top
Tmin10
Отправлено: 29 Сентября, 2012 - 17:32:20
Post Id



Частый гость


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


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




Ну сама капча это картинка, как я вставил выше, вставляй её куда хочешь. Поле ввода тоже как хочешь можно оформить.
Кстати, у меня стоит старая версия, 2 версия выглядит лучше))
Качаем архив отсюда http://captcha[dot]ru/kcaptcha/ , там есть пример формы на php, которая проверяет на правильность ввода, всё вроде наглядно.

Цитата с сайта:
Цитата:
Принцип действия: скрипт заводит сессию и записывает в нее под именем $_SESSION['captcha_keystring'] случайным образом сгенерированную строку, после чего выдает изображение, содержащее эту самую строку в зашумленном виде. При проверке пользовательского ввода вам остается только прочитать из сессии кодовую строку и сравнить с тем, что ввел пользователь (подробнее об аспектах безопасности при проверке пользовательского ввода).

(Отредактировано автором: 29 Сентября, 2012 - 17:34:20)

 
 Top
Алтенрион
Отправлено: 29 Сентября, 2012 - 17:39:29
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012  
Откуда: Москва, Россия


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




Сильно выше уже заводилась речь именно об этом варианте Капчи. У меня в архиве есть соответствующая директория файлов Капчи:
Цитата:

kcaptcha --->
    fonts (папка)
    util (папка)
    form_example.php
    index.php
    kcaptcha.php
    kcaptcha_config.php


Если не затруднит , подскажи как правильно распихать эти файлы. ФАйл конфиг как я понял из содержания является ключевым по настройке дизайна...

А вот формы индекс и остальные не очень смог разобрать, что и где вызывается...

.
(Добавление)
ап

(Отредактировано автором: 29 Сентября, 2012 - 17:40:59)

 
 Top
Tmin10
Отправлено: 29 Сентября, 2012 - 19:00:16
Post Id



Частый гость


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


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




Вот мои комментарии к коду:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. session_start(); //начинаем сессию
  3. //сначала выводим формочку?>
  4.  
  5. <form action="" method="post">
  6. <p>Enter text shown below:</p>
  7. <p><img src="./?<?PHP echo session_name()?>=<?PHP echo session_id() //здесь вставляется url картинки?>"></p>
  8. <p><input type="text" name="keystring"></p>
  9. <p><input type="submit" value="Check"></p>
  10. </form>
  11. <?PHP
  12. //Если пользователь отправил форму
  13. if(count($_POST)>0){
  14.         //если есть в сессии ключик капчи и он равен тому, что написал нам пользователь, то пишем, что верно
  15.         if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] === $_POST['keystring']){
  16.                 echo "Correct";
  17.         }else{
  18. //иначе неверно
  19.                 echo "Wrong";
  20.         }
  21. }
  22. //для безопасности стираем ключик из сессии, делается в самом конце скрипта
  23. unset($_SESSION['captcha_keystring']);
  24. ?>
 
 Top
Johns
Отправлено: 30 Октября, 2014 - 04:40:17
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Окт. 2014  


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




Алтенрион пишет:
Сильно выше уже заводилась речь именно об этом варианте Капчи. У меня в архиве есть соответствующая директория файлов Капчи:
Цитата:

kcaptcha --->
    fonts (папка)
    util (папка)
    form_example.php
    index.php
    kcaptcha.php
    kcaptcha_config.php


Если не затруднит , подскажи как правильно распихать эти файлы. ФАйл конфиг как я понял из содержания является ключевым по настройке дизайна...

А вот формы индекс и остальные не очень смог разобрать, что и где вызывается...

.
(Добавление)
ап


тоже интересует этот вопрос, поднимем тему?
 
 Top
Alefers
Отправлено: 25 Декабря, 2014 - 20:14:06
Post Id


Новичок


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


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




Разобрался с данной темой:
копируем папку в корневой каталог
на страничке где нужна капча ставим тег <img>
и внутри него вызываем вместо сорса index.php из папки
CODE (htmlphp):
скопировать код в буфер обмена
  1. <img src="index.php">

и делаем проверку на совпадение ответа пользователя с $_SESSION['captcha_keystring']
прикол заключается в том, что при первой загрузке, картинка отгружается и $_SESSION['captcha_keystring'] сохраняется только после полной отгрузки контента клиенту, соответственно, если попробовать вывести $_SESSION['captcha_keystring'] при первой загрузке - будет пусто. А вот при последующих загрузках мы будем иметь предыдущее значение $_SESSION['captcha_keystring'], что позволит нам сравнить его сразу с введённым в форме набором символов
Если в кратце, то у меня всё встраивание этой капчи на сайте заняло 2 строчки:
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo '<img src="kap4a/index.php">';
  2.         if ($_POST['kap4a'] == $_SESSION['captcha_keystring']) echo 'верно'; else echo 'не верно';

а теперь минус моего способа - видно напрямую где лежит фаил с генератором капчи, поэтому, для большей уверенности, надо вставлять сам фаил генерации раздельно с куском кода вывода картинки, и сохранять поток в промежуточный фаил, который потом и выводить.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB