Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   настройка captcha (http://forum.typo3.ru/showthread.php?t=1984)

Baltazarr 25.10.2006 15:58

настройка captcha
 
У меня проблемка: вот я прикрутил Tmailform поставил капчу (captcha).
В экстеншене поменял всё как надо:
Код:

// filling Captcha marker
if (t3lib_extMgm::isLoaded('captcha')) {       
  $markers['###CAPTCHA###'] = '<img src="'.t3lib_extMgm::siteRelPath('captcha').'captcha/captcha.php" alt="продублируйте символы в текстовом поле слева" />';
  session_start();
  $captchaStr = $_SESSION['tx_captcha_string'];
  $_SESSION['tx_captcha_string'] = '';                 
} else {
  $markers['###CAPTCHA###'] = 'captha error!';
  $captchaStr = -1;
}

Картинку генерит нормально. Однако на условие, предложенное мне в доке к капче:
Код:

if (... ($captchaStr===-1 || ($captchaStr && $tipData['captchaResponse']===$captchaStr)) ...) {
...
}

Никак не реагирует...
И ещё: строка 'tx_captcha_string', которую экст рендерит потом в зашумленную картинку, когда мы её получаем из сессии для проверки условия, не идентична символам в саой картинке!
Плюс, я заметил при многократном вызове tx_captcha_string = сгенеренной строке из предыдущей сессии...
Кто-нибудь сталкивался с чем-нибудь подобным?

Baltazarr 25.10.2006 17:55

про капчу
 
Упс, народ - всё разрешилось. Забыл что все переменные получаем из глобального массива piVars :o

Tod 04.01.2007 03:57

Есть такой экст - cr_tmailform_captcha. Судя по описанию должен добавить каптчу в Tmailform, но я что-то никаких изменений не заметил в работе.
Как его подключить? В шаблон добавил, а дальше?

Tod 05.01.2007 17:29

Итак, установил я captcha)) Документации по работе с cr_tmailform_captcha нету, пришлось думать (!) в первую очерндь, немного порыться в исходниках и чуток смекалки.
Решил вот поделиться опытом, может кому и згодится.
1. Собсивенно TMailform скорее всего уже проинстален, осталось установить сначала freeCap CAPTCHA (sr_freecap), а потом cr_tmailform_captcha (последний зависит от первых двух!)

2. В доке по captcha написано, что в шаблон своего экста нужно вставить это:
Цитата:

<!--###CAPTCHA_INSERT### this subpart is removed if CAPTCHA is not enabled! -->
<div class="tx-your-extension-id-pi1-captcha">
<label for="tx_your_extension_id_pi1_captcha_response">## #SR_FREECAP_NOTICE###</label>
###SR_FREECAP_CANT_READ###
<br />
<input type="text" size="15" id="tx_your_extension_id_pi1_captcha_response" name="tx_your_extension_id_pi1_pi1[captcha_response]" title="###SR_FREECAP_NOTICE###" value="">
###SR_FREECAP_IMAGE###
</div>
<!--###CAPTCHA_INSERT###-->
В нашем же случае немного видоизменим код:
Цитата:

<!--###CAPTCHA_INSERT### this subpart is removed if CAPTCHA is not enabled! -->
<tr><td colspan="2">
<div class="tx-your-extension-id-pi1-captcha">
<table>
<tr><td colspan="2">
<label for="tx_your_extension_id_pi1_captcha_response">## #SR_FREECAP_NOTICE###</label><br />
###SR_FREECAP_CANT_READ###
</td></tr>
<tr><td colspan="2" style="color: red"><b>###CAPTCHA_ERR_TXT###</b></td></tr>
<tr>
<td valign="middle" width="150">
<input type="text" style="width: 150px;" name="tx_pilmailform_pi1[text][captcha]" title="###SR_FREECAP_NOTICE###" value="###CAPTCHA_VAL###">
</td>
<td align="left" style="padding-left: 55px;">
###SR_FREECAP_IMAGE###
</td>
</tr>
</table>
</div>
</td></tr>
<!--###CAPTCHA_INSERT###-->
В общем. я из своей верстки вырезать не стал, как пример использования получается, все table, td и иже с ними можно смело убирать. Здесь главное что:
- добавил маркеры ###CAPTCHA_ERR_TXT### и ###CAPTCHA_VAL###
- поставил для input - name="tx_pilmailform_pi1[text][captcha]"
С шаблоном все.

3. Теперь когда создаем элемент Tmailform на старнице сайта, там на закладке "Проверка полей" в поле Required values добавляем текст:
CAPTCHA_VAL; useCaptcha; text: Текст не соответствует слову на картинке

Теперь должно работать)

Tod 03.02.2007 02:37

Возникли проблемы с добавлением CAPTCHA в модуль feuser_register.
Версия 2.5.5 вроде бы изначально поддерживает CAPTCHA, посмотрел код - да есть нужные вставки, но в шаблон нужно вставлять самому. Так вот вставляю в шаблон все как в документации, исправляю что нужно - не работает((
Возможно кто-то уже ставил CAPTCHA на feuser_register 2.5.5. Поделитесь как вы это сделали? какой именно код нужно вставить в шаблон?
и от чего может вылазить надпись - sorry, service is interrupted?

Tod 03.02.2007 15:07

Убил почти день на эту фичу, но таки сделал... пришлось слегка менять код в feuser_register 2.5.5 (добиться корректной работы с тем, что есть не удалось), зато работает.
Кому вдруг понадобится - пишите ПМ, поделюсь наработками.

void 03.02.2007 16:33

Лучше пришлите автору sr_feuser_register, чтобы в следующей версии баги были исправлены.

Tod 03.02.2007 18:13

Мне кажется, то не баги, а я просто не смог разобраться))
Когда автор создавал это все, не просто ведь так строчки прописал в код, я думаю)
Там вся проблема в том, как подлючить CAPTCHA в шаблоне, и возможно еще правильно прописать какие-то настройки через TYPO3 - в документации об этом не упоминается((

Sanja 27.02.2010 14:17

Цитата:

Сообщение от Baltazarr (Сообщение 7816)
У меня проблемка: вот я прикрутил Tmailform поставил капчу (captcha).
В экстеншене поменял всё как надо:
Код:

// filling Captcha marker
if (t3lib_extMgm::isLoaded('captcha')) {       
  $markers['###CAPTCHA###'] = '<img src="'.t3lib_extMgm::siteRelPath('captcha').'captcha/captcha.php" alt="продублируйте символы в текстовом поле слева" />';
  session_start();
  $captchaStr = $_SESSION['tx_captcha_string'];
  $_SESSION['tx_captcha_string'] = '';                 
} else {
  $markers['###CAPTCHA###'] = 'captha error!';
  $captchaStr = -1;
}

Картинку генерит нормально.

У меня почему то картинку не генерит, выводит просто <img src="typo3conf/ext/captcha/captcha/captcha.php" alt="" /> Что я мог упустить не подскажите, кто сталкивался.

dmartynenko 01.03.2010 13:00

Проверьте работает ли вообще ваш TYPO3 с картинками.
Возможно у вас не настроен путь к imagemagic или не установлен GD в PHP.

Sanja 01.03.2010 14:47

Нет, с этим все без проблем. В итоге на jquery сделал. Спасибо.


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

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot