За последние 24 часа нас посетили 17676 программистов и 1719 роботов. Сейчас ищут 882 программиста ...

Как запретить русские пароли

Тема в разделе "PHP для новичков", создана пользователем optionbit, 25 июл 2016.

  1. optionbit

    optionbit Новичок

    С нами с:
    21 июл 2016
    Сообщения:
    16
    Симпатии:
    0
    Ребят помогите как прописать что бы небыло русских паролей и куда именно в этом коде вставить!?
    Код (Text):
    1. include "include/header.php";
    2. include "siteconfig/confff.php";
    3. if(isset($_POST['join'])) {  
    4. if($_POST['username'] == '') {
    5. $usernameError = '<center>Поле "Логин" обязательно для заполнения.</center>';
    6. }
    7. if($_POST['password'] == '') {
    8. $passwordError = '<center>Поле "Пароль" обязательно для заполнения.</center>';
    9. }
    10. if($_POST['cpassword'] == '') {
    11. $cpasswordError = '<center>Поле "Повторите пароль" обязательно для заполнения.</center>';
    12. } elseif($_POST[password]!=$_POST[cpassword]) {
    13. $cpasswordError = '<center>Пароли не совпадают.</center>';
    14. }
    15. if($_POST['email'] == '') {
    16. $emailError = '<center>Поле "Email" обязательно для заполнения.</center>';
    17. } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", $_POST['email'])) {
    18. $emailError = '<center>Некорректный Email.</center>';
    19. }
    20. if($_POST['terms'] == '') {
    21. $dosterghError = '<center>Необходимо согласиться с условиями.</center>';
    22. }
    23. if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
    24. } else {
    25. $capError='<center>Проверочный код введен неверно.</center>';
    26. }
    27. $check=0;
    28. $sql = "select * from allussers where Email='".$_POST[email]."'";
    29. $result = mysql_query($sql);
    30. $total = mysql_num_rows($result);
    31. $rs  =  mysql_fetch_row($result);
    32. $sql1 = "select * from allussers where Username='".$_POST[username]."'";
    33. $result1 = mysql_query($sql1);
    34. $total1 = mysql_num_rows($result1);
    35. $rs1  =  mysql_fetch_row($result1);
    36. if ($total > 0) {
    37. $check=1;
    38. }
    39. if($_POST[username]=="admin") {
    40. $check=5;
    41. }
    42. if ($total1 > 0) {
    43. $check=3;
    44. }
    45. if ($check==1) {
    46. $emailError = '<center>Этот Email занят.</center>';
    47. }
    48. elseif ($check==3) {
    49. $usernameError = '<center>Этот логин занят.</center>';
    50. }
    51. elseif ($check==5) {
    52. $usernameError = '<center>Этот логин занят.</center>';
    53. }
    54. if(!isset($emailError) && !isset($usernameError) && !isset($passwordError) && !isset($cpasswordError) && !isset($dosterghError) && !isset($capError)) {
    55. $a[7]=$_POST[email];
    56. $a[7]=str_replace("'","",$a[7]);
    57. $a[7]=str_replace("\"","",$a[7]);
    58. $a[8]=$_POST[username];
    59. $a[8]=str_replace(" ","",$a[8]);
    60. $a[8]=str_replace("'","",$a[8]);
    61. $a[8]=str_replace(".","",$a[8]);
    62. $a[8]=str_replace("\"","",$a[8]);
    63. $a[8]=str_replace("\\","",$a[8]);
    64. $a[8]=strtolower($a[8]);
    65. $username=$a[8];
    66. $a[9]=$_POST[password];
    67. $a[9]=str_replace("'","",$a[9]);
    68. $a[9]=str_replace("\"","",$a[9]);
    69. $a[12]=$_SERVER['REMOTE_ADDR'];
    70. $a[13]=date("j M, Y");
    71. $a[14]=$_POST[cpassword];
    72. $a[14]=str_replace("'","",$a[14]);
    73. $a[14]=str_replace("\"","",$a[14]);
    74. $ref_by=$_SESSION["refid_session"];
    75. $rs=mysql_query("select * from allussers where Username='$ref_by' and active=1");
    76. if(mysql_num_rows($rs)<1) {
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    что такое русский пароль?
    пароль содержащий кириллицу, или содержащий русские слова даже если они написаны в латинице или еще как либо?
     
    optionbit нравится это.
  3. optionbit

    optionbit Новичок

    С нами с:
    21 июл 2016
    Сообщения:
    16
    Симпатии:
    0
    Ну вот пример пароля который запрещен "Русский" просто что бы букв русских не было.
    --- Добавлено ---
    Ну вот пример пароля который запрещен "Русский" просто что бы буквы русски
    Ну вот пример пароля который запрещен "Русский" просто что бы букв русских не было.
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    а если в пароле будет китайские иероглифы(俄罗斯密码)? а если на иврите(סיסמא רוסית)? а арабский(كلمة المرور الروسية) ?
    их можно?
    вообще цель какая? может проще описать то что можно , а не перечислять тонну того что нельзя?
     
    igordata и optionbit нравится это.
  5. optionbit

    optionbit Новичок

    С нами с:
    21 июл 2016
    Сообщения:
    16
    Симпатии:
    0
    Ну да проще прописать то что можно. a-z и цифры, символы.! Как это написать и куда в моем коде вставить помоги пожалуйста
     
  6. Junior)

    Junior) Новичок

    С нами с:
    13 июл 2016
    Сообщения:
    41
    Симпатии:
    5
    Адрес:
    Златоуст
    Попробуй сделать так:
    PHP:
    1. include "include/header.php";
    2. include "siteconfig/confff.php";
    3. if(isset($_POST['join'])) {
    4. if($_POST['username'] == '') {
    5. $usernameError = '<center>Поле "Логин" обязательно для заполнения.</center>';
    6. } elseif (!preg_match('~^[a-z0-9_\-]*$~i', $_POST['username']) {
    7. $usernameError = '<center>Некорректный Логин. Используйте только латинские символы.</center>';
    8. }
     
    optionbit нравится это.
  7. optionbit

    optionbit Новичок

    С нами с:
    21 июл 2016
    Сообщения:
    16
    Симпатии:
    0
    это для логина же? а для поля пароль как?
     
  8. Junior)

    Junior) Новичок

    С нами с:
    13 июл 2016
    Сообщения:
    41
    Симпатии:
    5
    Адрес:
    Златоуст
    Тьфу ты)
    Сейчас))
     
    optionbit нравится это.
  9. optionbit

    optionbit Новичок

    С нами с:
    21 июл 2016
    Сообщения:
    16
    Симпатии:
    0
    просто за место username вставлять password?
     
  10. Junior)

    Junior) Новичок

    С нами с:
    13 июл 2016
    Сообщения:
    41
    Симпатии:
    5
    Адрес:
    Златоуст
    PHP:
    1. include "include/header.php";
    2.  
    3. include "siteconfig/confff.php";
    4. if(isset($_POST['join'])) {
    5. if($_POST['username'] == '') {
    6. $usernameError = '<center>Поле "Логин" обязательно для заполнения.</center>';
    7. }
    8. if($_POST['password'] == '') {
    9. $passwordError = '<center>Поле "Пароль" обязательно для заполнения.</center>';
    10. } elseif (!preg_match('~^[a-z0-9_\-]*$~i', $_POST['password']) {
    11. $passwordError = '<center>Некорректный Пароль. Используйте только латинские символы.</center>';
    12. }
     
    optionbit нравится это.
  11. optionbit

    optionbit Новичок

    С нами с:
    21 июл 2016
    Сообщения:
    16
    Симпатии:
    0
    ща в магаз сгоняю
    --- Добавлено ---
    приду попробую)
     
  12. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    вообще идея странная.
    ладно логин, но пароль ограничивать нельзя так. наоборот, он должен состоять, как можно из более разнообразной и длинной последовательности символов. так он становится более стойким к подбору.
    вам же, ненужно хранить его. нужно хранить только хеш от него. и пофиг что там ввел юзер.
     
    igordata и optionbit нравится это.
  13. optionbit

    optionbit Новичок

    С нами с:
    21 июл 2016
    Сообщения:
    16
    Симпатии:
    0
    Parse error: syntax error, unexpected '{' in Z:\home\test\www\join.php on line 18 во че выдало)
     
  14. Junior)

    Junior) Новичок

    С нами с:
    13 июл 2016
    Сообщения:
    41
    Симпатии:
    5
    Адрес:
    Златоуст
    Ну так он же говорит, неожиданный знак "{". Код глянь.
    --- Добавлено ---
    Вторую строчку тоже удали, она пустая. Сделай чтоб все строчки шли друг за другом.
     
  15. optionbit

    optionbit Новичок

    С нами с:
    21 июл 2016
    Сообщения:
    16
    Симпатии:
    0
    } elseif (!preg_match('~^[a-z0-9_\-]*$~i', $_POST['password'])) ошибка тут была, ты не закрыл скобкой
    --- Добавлено ---
    Спасибо тебе огромнейшее!!!! Помог, а то я мучился так же почти делал но чуток по другому)
     
  16. Junior)

    Junior) Новичок

    С нами с:
    13 июл 2016
    Сообщения:
    41
    Симпатии:
    5
    Адрес:
    Златоуст
    Точно, проморгал)) Бывает)
    Раз помог - тыкни спасибку)
     
    optionbit нравится это.
  17. optionbit

    optionbit Новичок

    С нами с:
    21 июл 2016
    Сообщения:
    16
    Симпатии:
    0
    натыкал)) побольше бы таких ребят!
     
  18. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    @optionbit, а всё-таки. Чем тебя не устроит такой пароль:
    Код (Text):
    1. 123123^%^%*^$%$#$ывывапываadfadsf
    ?
     
  19. Anhk

    Anhk Активный пользователь

    С нами с:
    13 дек 2015
    Сообщения:
    219
    Симпатии:
    11
    небольшой оффтоп: один я использую в качестве пароля никак не связанный между собой набор символов и ничего не обозначающий? выдуманный в голове и там же сохраненный?
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Anhk существуют менеджеры паролей. От каждой учётки произвольный пароль подходящей сложности.
     
  21. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    igordata, Anhk и Ganzal нравится это.
  22. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @mr.akv плюсую. Кроссплатформенный, без излишеств.
    Я бы еще https://lastpass.com/ посоветовал.
     
    denis01, mr.akv и Anhk нравится это.
  23. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Использую lastpass
     
  24. Anhk

    Anhk Активный пользователь

    С нами с:
    13 дек 2015
    Сообщения:
    219
    Симпатии:
    11
    так. я поспешил сюда зайти, чтобы сказать огромное спасибо)
    мне очень понравился lastpass, просто крутотень! его и ставить никуда на десктоп не нужно, расширение браузерное тыкнул и радуешься жизни)
     
  25. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Anhk в премиуме ещё можно с современных смартфонов пароли юзать ;)