1

エラー (「パスワードの長さは 6 ~ 32 文字の長さでなければなりません」) が設定されているため、ユーザーが 6 文字未満のパスワードで登録しようとすると、そのエラーが発生し、サインアップできませんが、どんなに短くてもサインアップできません。パスワード、エラーは発生せず、登録を続行します。助けてください、ありがとう!コードは次のとおりです。

<?php

$submit = $_POST['submit'];

$name = strip_tags($_POST['fullnamefield']);
$email = strip_tags($_POST['regemailfield']);

$password = strip_tags($_POST['regpasswordfield']);
$repeatpassword = strip_tags($_POST['regpasswordconfirmfield']);
$date = date("Y-m-d");

if ($submit)
{
  if ($name&&$email&&$password&&$repeatpassword)
  {
    $password = md5($password);
    $repeatpassword = md5($repeatpassword);

    if ($password==$repeatpassword)
    {
      if (strlen($name)>32||strlen($email)>1024)
      {
        echo "Length of name or email is too long. Please try again";
      }
      else
      {
        if (strlen($password)>32||strlen($password)<6)
        {
          echo "password must be between 6 and 25 character!";
        }
      }
    }
    else
      echo "Your passwords do not match!";
  }
  else
    echo "Please fill in all fields!";
}

?>
4

3 に答える 3

8

md5() を使用する前に長さを確認してください

于 2012-06-07T20:33:18.347 に答える
0

これは、MD5 でパスワードをハッシュし、$password 変数を 32 文字の文字列に変更するためです。

于 2012-06-07T20:34:32.330 に答える
0

md5 関数でパスワードを送信すると、その関数は実際には 32 文字の 16 進数 (ハッシュ) を作成するため、チェックは役に立ちません。

于 2012-06-07T20:35:00.653 に答える