Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 19, 2008 15:39:31

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Капчи с базой и без

Хотел бы узнать Ваше мнение о приемуществах и недостатках использования каптч с приминением сохранения в базе контрольных значений и без баз. (например в сессиях)

Спасибо

Офлайн

#2 Дек. 19, 2008 16:23:53

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Капчи с базой и без

можно и без сохранения, добавлять в форму скрытое поле с хэшем ответа на капчу + выводить картинку, в POST анализировать введённый текст и сравнивать с хешем.
Как все, впрочем, и делают.

зачем что-то где-то сохранять?)

Офлайн

#3 Дек. 19, 2008 16:47:33

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Капчи с базой и без

slav0nic
можно и без сохранения, добавлять в форму скрытое поле с хэшем ответа на капчу + выводить картинку, в POST анализировать введённый текст и сравнивать с хешем.
Как все, впрочем, и делают.

зачем что-то где-то сохранять?)
Ну например на гугл коде лежит app “simple-captcha” где в коде ее используется база
привожу часть кода оттуда:
from captcha.models import CaptchaStore
from django.http import HttpResponse, Http404
from django.shortcuts import get_object_or_404
import Image,ImageDraw,ImageFont,ImageFilter,random
from captcha.conf import settings

def captcha_image(request,key):

store = get_object_or_404(CaptchaStore,hashkey=key)
text=store.challenge
tmpimage = Image.new('RGB', (10,10), settings.CAPTCHA_BACKGROUND_COLOR)
if settings.CAPTCHA_FONT_PATH.lower().strip().endswith('ttf'):
font = ImageFont.truetype(settings.CAPTCHA_FONT_PATH,settings.CAPTCHA_FONT_SIZE)
Вот поэтому я и спрашиваю в чем приемущества и недостатки с базой и без

Офлайн

#4 Дек. 19, 2008 17:39:17

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Капчи с базой и без

например на срвере icq.com капча генерируется и сохраняется на фс в файл, а не прямо вьюшкой, и после удачного разгадывания - удаляется с фс, при таком подходе можно и в базе писать, а так - не вижу смысла.
а по помоду кода - смотри что в CaptchaStore происходит

Офлайн

#5 Дек. 19, 2008 23:25:42

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Капчи с базой и без

lorien
А сделал я это затем, чтобы не протаскивать request через threadlocals хак.
А что есть threadlocals хак? Спрашиваю так как гугление не помогло.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version