Фильтрация логина !

Тема в разделе "PHP программирование", создана пользователем slavon-x86, 17 мар 2007.

  1. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    Код (Text):
    if (preg_match("/[^a-z0-9а-я\- _]/i", $username)) $err = "Запрещённые символы в логине";
    Всё нормально, но если встречаются русские большие буквы, то не работает !
     
  2. Artexoid

    Artexoid Гость

    Для: slavon-x86

    Кто же в логине вообще разрешает русские буквы :)?
    Вот, отсекает всё кроме латинских (любого регистра), '-' и '_':
    Код (Text):
    if (preg_match("/[^a-z0-9\- _]/i", $username))
    $err = "Запрещённые символы в логине";
    А то, что у Вас приведено, тоже нормально работает, только еще и всю кириллицу разрешает.
     
  3. GOsha

    GOsha Гость

    Код (Text):
    if (preg_match("/[^A-Za-z0-9А-Яа-я\- _]/i", $username)) $err = "Запрещённые символы в логине";
    Он так поймет.
    Можно еще
    Код (Text):
    if (preg_match("/[^A-z0-9А-я\- _]/i", $username)) $err = "Запрещённые символы в логине";
     
  4. Gisma

    Gisma Гость

    убери русские символы из логина, интернет не готов к русским значащим именам :)
     
  5. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    Спасибо, заработало !
    Я просто решил сделать единую регистрацию на сайте и на форуме phpbb и взял за основу базу данных форума, а там разрешены русские буквы !
     
  6. GOsha

    GOsha Гость

    Так что? Ты убрал русские символы, или оставил, как я тебе предложил?
     
  7. Gisma

    Gisma Гость

    он сделал возможным логин из русских букв
     
  8. Artexoid

    Artexoid Гость

    Да вы что смеётесь? Никто никогда не разрешает русские символы в логине!!!
    Лучше тогда сделать дополнительное поле "Ник", в котором разрешить русские символы (или даже вообще любые символы) и который в последствии выводить везде.!
     
  9. GOsha

    GOsha Гость

    Гы... Впринципету де-то прав.
    В-основном это так, но серваки нормально работают с русским и базы данных.
    Хотя можно использовать в кацтве логина собснае мыло, а логин уже сам определяется.
     
  10. Artexoid

    Artexoid Гость

    Для: GOsha

    Та конечно я знаю, что нормально работают с русским :rolleyes: . Но общепринято в логине - 'латиница', '-' и '_'. Все-таки логин обычно для авторизации служит, я вот и говорю, зачем перегружать его левыми символами, пусть логин выполняет своё прямое предназначение. Пароли ведь русские совсем не делают :). По моему русские символы в логине – это совсем лишнее :), хотя у каждого конечно своё видение на этот счёт!
     
  11. Gisma

    Gisma Гость

    причина неприменения в логине национальных языков, проста до ужаса:rolleyes:
    буквы в нац. языках особенно урл не занесешь
    вот пример урлов:
    второй в себе несет потенциальную опасность по нескольким причинам:
    - не все браузеры корректно поддерживают такие запросы:)
    - может отображаться некорректно в браузере человека юзающего другой нац. язык (в случае без утф)
    - в случае строки UTF Гизма ваще превращается в 10 - байтовую нечитаемую последовательность, что само по себе нечитаемо и соотв. неприменимо
     
  12. GOsha

    GOsha Гость

    СТранно, но у меня логин ниде в урлах не плавает... :rolleyes:
    Максимум ID. И того не увидишь.
     
  13. Artexoid

    Artexoid Гость

    Кстати действительно. Логин только для авторизации, для всего остального включая каталога юзера можно использовать уникальный ID. А сам логин даже если и на русском будет, закодируется в UTF-8 на стороне клиента и декодируется на стороне сервера приняв первоначальный вид и никому не интересно как оно будет выглядеть при передаче на сервер (методом POST) или как оно там выглядит при хранении в той же сессии. Никаких проблем. А люди у которых возможно некорректное отображение кириллицы вообще не зайдут на сайт, так как у них все шрифты на сайте будут отображаться некорректно!

    Просто использовать русский в логине плохой тон :rolleyes:
     
  14. GOsha

    GOsha Гость

    Для: Artexoid
    Ты же знаешь, что есть куча ламо, которые хотят называться Пусечка, Пупсик, Плюшевый и др.
     
  15. Gisma

    Gisma Гость

    Это не ламо, это пользователи.
    А логин в урлах будет плавать :rolleyes: Такие вот дела..
     
  16. GOsha

    GOsha Гость

    Для: Gisma
    Нафига тебе логин выводить в урл? Запомни в сессию.
     
  17. Artexoid

    Artexoid Гость

    Для: Gisma

    Ну где будет плавать логин это там куда его пошлют :). Если брать готовые движки там может что-то и плавает, лично я в своих системах логин никогда не сую в URL! Зачем он там нужен? Вообще в URL нужно минимум переменных закидывать по крайней необходимости, а для идентификации есть сессии.

    Для: GOsha

    А насчёт пусечик, пусть называются :), в чём проблемма-то?? А-то за то чтобы Логин и Ник разграничивать :). Типа Логин-Pusia Ник-Пуся и выводить этот Ник везде, вот и всё :)
     
  18. Gisma

    Gisma Гость

    хм.... :)
    Логин в урл?
    /somesite/user/Gisma - выводит информациб об урле
    love.rambler.ru/Anastasia/
    логин в урле, применяется во многих сайта, где часто необходимо смотреть инфо по пользователю (знакомства, доски объяв, биржи и т.д. и т.п.)
     
  19. Artexoid

    Artexoid Гость

    Для: Gisma

    Ах в этом смысле :). Ну можно обойтись и без логина в URL на самом деле и очень просто!
     
  20. Gisma

    Gisma Гость

    что-то более удобное?:)
     
Загрузка...

Поделиться этой страницей