Различные вопросы по PHP и MySQL

99.69K
.
Milordas, зачем?
не храни его в открытом виде, это рискованно, и неразумно, он просто не нужен в открытом виде,
а в мд5 он полностью безопасен, только длину проверяешь и все.
.
ramzes, а если в пароле какие-нибудь арабские символы?
.
Mes que un club
Milordas, так ты проверь введённое, но не сохраняй в бд
.
Gaucer, Ok))
.
# Milordas (19.01.2014 / 21:37)
ramzes, а если в пароле какие-нибудь арабские символы?
ну и что? хоть китайские. по хорошему тебе плевать что там в пароле, тебе нужен только мд5 хеш пароля, и проверка на длину, просто что бы он пустой не был и войну и мир не содержал
.
ramzes, это всё конечно неплохо, НО...
проблема то не ушла.
если не ввести пароль, он всё равно заносится в базу.
в базу попадает пароль, который сохранен в браузере.
.
-=ВДРЕБЕЗГИ=-
Milordas, Ты совет выше не игнорируй. Введеное сначало проверял, а потом в базу занпси
.
-=ВДРЕБЕЗГИ=-, с удовольствием тебе отвечу, ВОТ↓
if (isset($_POST['submit'])) {
  if (!empty($_POST['login'])) {
    if (!preg_match("/[^a-zа-я0-9_]/i",strip_tags(trim($_POST['login'])))) {
      if ((strlen(strip_tags(trim($_POST['login'])))>=4) AND (strlen(strip_tags(trim($_POST['login'])))<=15)) {
        $login=strip_tags(trim($_POST['login']));
        } else {
            $err_len_l='Длина логина - min: 4, max: 12 символов<br>';
            }
      } else {
          $err_preg_l='Логин содержит недопустимые символы<br>';
          }
    } else {
        $err_emp_l='Вы не ввели логин<br>';
        }

  if (!empty($_POST['password'])) {
    if (!preg_match("/[^a-z0-9_]/i",strip_tags(trim($_POST['password'])))) {
      if ((strlen(strip_tags(trim($_POST['password'])))>=6) AND (strlen(strip_tags(trim($_POST['password'])))<=18)) {
        $password=strip_tags(trim(md5($_POST['password'])));
        } else {
            $err_len_p='Длина пароля - min: 6, max: 18 символов<br>';
            }
      } else {
          $err_preg_p='Пароль содержит недопустимые символы<br>';
          }
    } else {
        $err_emp_p='Вы не ввели пароль<br>';
        }

  if (isset($login, $password)) {
    $res=mysql_fetch_assoc(mysql_query("SELECT `id` FROM `users` WHERE `login`='$login'"));
    if ($res['id']=="") {
      $_SESSION['login']=$login;
      $sex=htmlspecialchars(trim($_POST['sex'], ENT_QUOTES));
      mysql_query("INSERT INTO `users`
                        (`login`, `password`, `date_reg`, `real_date`, `sex`, `about`)
                         VALUES
                         ('$login', '$password', '$date', '$date', '$sex', 'Не заполнено')");
      header("Location: http://['HTTP_HOST']."/");
      exit();
      } else {
          $err_res='Этот логин уже занят<br>';
          }
    }
  }

Всё проверяю, но всё равно та же самая проблема
.
Windler
Milordas, Может проблема в типе столбца? :\
.
Windler, VARCHAR
Всего: 7969