Найти - Пользователи
Полная версия: captcha bottle
Начало » Web » captcha bottle
1
alexandre
Понадобилось сделать каптчу функция получает jpeg:
f = StringIO.StringIO()
img.save(f, "JPEG")
raw = f.getvalue()
И передает её далее шаблону:
captcha = get_captcha()
return templ('aaa', captcha=captcha)
шаблон
<div> {{captcha}}</div>
Шаблон выводит большую строчку я так понимаю картинка преобразованная в строку. Как мне в шаблоне получить картинку а не строчку?
slav0nic
если в лоб, http://en.wikipedia.org/wiki/Data_URI_scheme
dimabest
обычно делают так:
<div>
<img src="http://mysite.com/captcha" />
</div>
По адресу, указанному в src сидит скрипт, который генерирует “большую строчку я так понимаю картинка преобразованная в строку” и отдает ее в качестве ответа. При этом скрипт записывает правильный ответ в сессию, а в http-заголовке Content-Type указывает правильный тип данных, например “image/jpeg” или “image/png”.
alexandre
Почитал выше озвученную ссылку теперь не понимаю чем эти две отличаются:
<img src="data:image/jpeg;base64,{{captcha}}" alt="aaa">

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />
одна из примера работающая другая не так и выводит длинную строчку.
o7412369815963
Вот пример реализации капчи, как раз использовал с ботлом, хотя можно где угодно.

То что предложил slav0nic штука хорошая, но не всеми браузерами поддерживается.

И ещё вопрос, а оно вам надо? спам боты атакуют популярные движки, а тут самоделка. Думаю достаточно сделать лимит по времени для приема даных от клиента и запись его ип + текущего времени (что-б легко потом вычистить если что).
А так, эта капча только будет мешать хорошим пользователям.
alexandre
Собственно я эту реализацию и пытаюсь как то вывести правда я её изначально с другого места сдирал)) капча та генерируется ну выводится куча цыфр и все в jinja)).
А по поводу надобности боты постоянно регистрируются у меня для регистрации много данных водить не надо а после регистрации создается куча всего потом удалять, во общем так бы я капчей заморачивался.
zheromo
Как вариант можно использовать, например, вот это - http://opencaptcha.com/
alexandre
o7412369815963
Благодарю за описание, все заработало.
Исправте в предпоследней строчке ‘Content-Encoding’ на ‘Content-Type’.
o7412369815963
alexandre
o7412369815963
Благодарю за описание, все заработало.
Исправте в предпоследней строчке ‘Content-Encoding’ на ‘Content-Type’.
спс, этот кусок кода писал прямо в браузере, не тестируя.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB