• Страница 1 из 1
  • 1
Модератор форума: Dimitro, LightInDarkness  
система авторизации с проверкой и капча
deathn0te
Скаут
Здравствуйте, создал тему во флудилке, потому что она не относится к теме вов, но затрагивает систему регистрации, авторизации, лк, статус сервера, и много чего еще.

На данный момент столкнулся с такой вот проблемой

1) после того как сделалось
Код
$("#login").keyup(function()
по идеи должна сработать проверка на пустой инпут и выдать ошибку что поле пустое, но это не срабатывает, и срабатывает тогда когда что то написали и потом стерли.
2) авторизация с проверкой на заполнения полей (пустые или нет) и также проверка на существует ли такой персонаж
3) капча при регистрации - тут я вообде не знаю как ее прикрутить.

Знаю что тут есть умные прогеры, может быть вы поможете мне.
Заранее спасибо.
Создатель игры SR Online
Сообщение # 1 написано 04.08.2013 в 11:07
Sherlоck
It's elementary.
deathn0te, -_-
1). Достаточно просто прикрутить эту проверку на уровне onsubmit у формы авторизации(есть некий submit например), так вот, нужно вызвать функцию и вернуть false(onsubmit="check(); return false;"). А в фукнции check получить все поля формы и проверить их по нужным регуляркам.
Чтобы проверить что-то после перехода на другое поле, достаточно слушать событие focusout.(юзай гугл)
2). Смотри первую часть у первого пункта.
3). Капчу можно сделать 2-х способов проверки и с двумя способами вывода:
Можно проверять у клиента(просто посылая SSID капчи с помощью ajax на сервер и спрашивая, верные ли значения введены, и второй, сразу отправлять все на сервер, и ругаться, если значения неверны.
Теперь о выводах: Можно генерировать капчу на сервере, и затем показывать. А можно генерировать уже в браузере, но для этого нужна какая-то система генерации относительно какого-то постоянного ключа, а это потенциально уязвимо(для брутеров). Поэтому гугли GD php и рисую капчу своими руками искажая ее. При рисовании заноси(например) в бд ее SSID и ответ на капчу и проверяй потом на сервере. Просто текстовые поля в бд не займут много места.

P.S. еще лучше использовать готовые решения. Гугл в помощь.
Сообщение # 2 написано 04.08.2013 в 12:08
deathn0te
Скаут
.
Цитата (FеlZz)
1). Достаточно просто прикрутить эту проверку на уровне onsubmit у формы авторизации(есть некий submit например), так вот, нужно вызвать функцию и вернуть false(onsubmit="check(); return false;"). А в фукнции check получить все поля формы и проверить их по нужным регуляркам.
Чтобы проверить что-то после перехода на другое поле, достаточно слушать событие focusout.(юзай гугл)
2). Смотри первую часть у первого пункта.
3). Капчу можно сделать 2-х способов проверки и с двумя способами вывода:
Можно проверять у клиента(просто посылая SSID капчи с помощью ajax на сервер и спрашивая, верные ли значения введены, и второй, сразу отправлять все на сервер, и ругаться, если значения неверны.
Теперь о выводах: Можно генерировать капчу на сервере, и затем показывать. А можно генерировать уже в браузере, но для этого нужна какая-то система генерации относительно какого-то постоянного ключа, а это потенциально уязвимо(для брутеров). Поэтому гугли GD php и рисую капчу своими руками искажая ее. При рисовании заноси(например) в бд ее SSID и ответ на капчу и проверяй потом на сервере. Просто текстовые поля в бд не займут много места.

P.S. еще лучше использовать готовые решения. Гугл в помощь.


1) спасибо, я просто хотел сделать проверку в реальном времени
3) спасибо

Добавлено (04.08.2013, 19:11)
---------------------------------------------
запутался с регулярными вырождениями

1) нельзя что бы было в логине одни только цифры, и русские буквы
2) можно только латинские любого регистра и логин может содержать цифры (вперемешку с латинскими буквами, а не сплашником цифры )

у меня так, в таком виде пропускает когда в логине сплошные цифры, и " аброкадабру", то есть когда логин типо такого вида "sdsfjkjlvmnvx"

Код

var expLogin = /^[a-zA-Z1-9]+$/;
Создатель игры SR Online
Сообщение # 3 написано 04.08.2013 в 19:11
Flaker
Сержант
Цитата (deathn0te)
) капча при регистрации - тут я вообде не знаю как ее прикрутить.

Вот пример подключения капчи "Fancy Captcha". Можно так же воспользоваться reCAPTCHA, на офф сайте найдете руководство по установке, устанавливается легко, думаю проблем не возникнет.

FеlZz, Не самый лучший вариант капчи, которая работает через БД.

Добавлено (09.08.2013, 08:15)
---------------------------------------------

Цитата (deathn0te)
запутался с регулярными вырождениями

можно сделать например так
Код

/^[a-zA-Z]+[0-9]{1,}$/

Не тестировал, но должно работать. Теперь в логине должна быть минимум 1 цифра.
Сообщение # 4 отредактировано Flaker - Пятница, 09.08.2013, 08:05
  • Страница 1 из 1
  • 1
Поиск: