Ребят помогите как прописать что бы небыло русских паролей и куда именно в этом коде вставить!? Код (Text): include "include/header.php"; include "siteconfig/confff.php"; if(isset($_POST['join'])) { if($_POST['username'] == '') { $usernameError = '<center>Поле "Логин" обязательно для заполнения.</center>'; } if($_POST['password'] == '') { $passwordError = '<center>Поле "Пароль" обязательно для заполнения.</center>'; } if($_POST['cpassword'] == '') { $cpasswordError = '<center>Поле "Повторите пароль" обязательно для заполнения.</center>'; } elseif($_POST[password]!=$_POST[cpassword]) { $cpasswordError = '<center>Пароли не совпадают.</center>'; } if($_POST['email'] == '') { $emailError = '<center>Поле "Email" обязательно для заполнения.</center>'; } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", $_POST['email'])) { $emailError = '<center>Некорректный Email.</center>'; } if($_POST['terms'] == '') { $dosterghError = '<center>Необходимо согласиться с условиями.</center>'; } if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) { } else { $capError='<center>Проверочный код введен неверно.</center>'; } $check=0; $sql = "select * from allussers where Email='".$_POST[email]."'"; $result = mysql_query($sql); $total = mysql_num_rows($result); $rs = mysql_fetch_row($result); $sql1 = "select * from allussers where Username='".$_POST[username]."'"; $result1 = mysql_query($sql1); $total1 = mysql_num_rows($result1); $rs1 = mysql_fetch_row($result1); if ($total > 0) { $check=1; } if($_POST[username]=="admin") { $check=5; } if ($total1 > 0) { $check=3; } if ($check==1) { $emailError = '<center>Этот Email занят.</center>'; } elseif ($check==3) { $usernameError = '<center>Этот логин занят.</center>'; } elseif ($check==5) { $usernameError = '<center>Этот логин занят.</center>'; } if(!isset($emailError) && !isset($usernameError) && !isset($passwordError) && !isset($cpasswordError) && !isset($dosterghError) && !isset($capError)) { $a[7]=$_POST[email]; $a[7]=str_replace("'","",$a[7]); $a[7]=str_replace("\"","",$a[7]); $a[8]=$_POST[username]; $a[8]=str_replace(" ","",$a[8]); $a[8]=str_replace("'","",$a[8]); $a[8]=str_replace(".","",$a[8]); $a[8]=str_replace("\"","",$a[8]); $a[8]=str_replace("\\","",$a[8]); $a[8]=strtolower($a[8]); $username=$a[8]; $a[9]=$_POST[password]; $a[9]=str_replace("'","",$a[9]); $a[9]=str_replace("\"","",$a[9]); $a[12]=$_SERVER['REMOTE_ADDR']; $a[13]=date("j M, Y"); $a[14]=$_POST[cpassword]; $a[14]=str_replace("'","",$a[14]); $a[14]=str_replace("\"","",$a[14]); $ref_by=$_SESSION["refid_session"]; $rs=mysql_query("select * from allussers where Username='$ref_by' and active=1"); if(mysql_num_rows($rs)<1) {
что такое русский пароль? пароль содержащий кириллицу, или содержащий русские слова даже если они написаны в латинице или еще как либо?
Ну вот пример пароля который запрещен "Русский" просто что бы букв русских не было. --- Добавлено --- Ну вот пример пароля который запрещен "Русский" просто что бы буквы русски Ну вот пример пароля который запрещен "Русский" просто что бы букв русских не было.
а если в пароле будет китайские иероглифы(俄罗斯密码)? а если на иврите(סיסמא רוסית)? а арабский(كلمة المرور الروسية) ? их можно? вообще цель какая? может проще описать то что можно , а не перечислять тонну того что нельзя?
Ну да проще прописать то что можно. a-z и цифры, символы.! Как это написать и куда в моем коде вставить помоги пожалуйста
Попробуй сделать так: PHP: include "include/header.php"; include "siteconfig/confff.php"; if(isset($_POST['join'])) { if($_POST['username'] == '') { $usernameError = '<center>Поле "Логин" обязательно для заполнения.</center>'; } elseif (!preg_match('~^[a-z0-9_\-]*$~i', $_POST['username']) { $usernameError = '<center>Некорректный Логин. Используйте только латинские символы.</center>'; }
PHP: include "include/header.php"; include "siteconfig/confff.php"; if(isset($_POST['join'])) { if($_POST['username'] == '') { $usernameError = '<center>Поле "Логин" обязательно для заполнения.</center>'; } if($_POST['password'] == '') { $passwordError = '<center>Поле "Пароль" обязательно для заполнения.</center>'; } elseif (!preg_match('~^[a-z0-9_\-]*$~i', $_POST['password']) { $passwordError = '<center>Некорректный Пароль. Используйте только латинские символы.</center>'; }
вообще идея странная. ладно логин, но пароль ограничивать нельзя так. наоборот, он должен состоять, как можно из более разнообразной и длинной последовательности символов. так он становится более стойким к подбору. вам же, ненужно хранить его. нужно хранить только хеш от него. и пофиг что там ввел юзер.
Ну так он же говорит, неожиданный знак "{". Код глянь. --- Добавлено --- Вторую строчку тоже удали, она пустая. Сделай чтоб все строчки шли друг за другом.
} elseif (!preg_match('~^[a-z0-9_\-]*$~i', $_POST['password'])) ошибка тут была, ты не закрыл скобкой --- Добавлено --- Спасибо тебе огромнейшее!!!! Помог, а то я мучился так же почти делал но чуток по другому)
@optionbit, а всё-таки. Чем тебя не устроит такой пароль: Код (Text): 123123^%^%*^$%$#$ывывапываadfadsf ?
небольшой оффтоп: один я использую в качестве пароля никак не связанный между собой набор символов и ничего не обозначающий? выдуманный в голове и там же сохраненный?
так. я поспешил сюда зайти, чтобы сказать огромное спасибо) мне очень понравился lastpass, просто крутотень! его и ставить никуда на десктоп не нужно, расширение браузерное тыкнул и радуешься жизни)