0

私は、学位取得のための主要なプロジェクトとして Web アプリを構築しています。シンプルなログインは機能していましたが、現在 Cookie を実装しようとしていますが、何らかの理由でスクリプトが機能していません。理由を突き止める必要がありますが、最後の 2 時間はできません。これが私の質問です:

ログイン フォームから変数がログイン スクリプトに渡されます (パスワードまたは jql インジェクションのセキュリティはこれまで実装されていません)。ログイン エラーを押すと、「ページの読み込みエラー」が表示されます。

session_start();

$username = $_GET["name"];
$password = $_GET["password"];
$remember_me = $_GET['remember_me'];

include('mysql_connection.php');
mysql_select_db("jzperson_imesUsers", $con);

$res1 = mysql_query("SELECT * FROM temp_login WHERE username='$username' AND password='$password'");
$count1=mysql_num_rows($res1);

if(isset($_COOKIE['usr_IMes']) && isset($_COOKIE['psw_IMes'])){
                    $user_n = $_COOKIE['usr_IMes'];
                    $pasw_n = $_COOKIE['psw_IMes'];

                    $res2 = mysql_query("SELECT * FROM temp_login WHERE username='$user_n' AND password='$pasw_n'");
                    $count2=mysql_num_rows($res2);

                    if($count2 == 1){

                                    $_SESSION['username'] = $user_n;

                                    header('Location: http://imes,jzpersonal.com/userpanel.php');

                    }else {
                                    setcookie('usr_IMes', $user_n, time() - 31*24*60*60);
                            setcookie('psw_IMes', $pasw_n, time() - 31*24*60*60);

                                    header('Location: http://imes,jzpersonal.com/index.html');
                    }

}else{

if($count1==1){
    $_SESSION['username'] = $username;

    if(isset($remember_me)){

setcookie('usr_IMes', $username, time() + 30*24*60*60);
setcookie('psw_IMes', $password, time() + 30*24*60*60);

header("Location: http://imes.jzpersonal.com/userpanel.php");
    }else{      

      header("Location: http://imes.jzpersonal.com/userpanel.php");

   }
}else{
    $login = "failed";
}
}

誰かが私のスクリプトで問題を見ることができますか? ログイン部分で?ここにない場合は、すべてのページの最初に私の認証スクリプトがあります。おそらく私のエラーがあります:

session_start();

if(isset($_COOKIE['usr_IMes']) && isset($_COOKIE['psw_IMes'])){
                    $user_n = $_COOKIE['usr_IMes'];
                    $pasw_n = $_COOKIE['psw_IMes'];

                    $res2 = mysql_query("SELECT * FROM temp_login WHERE username='$user_n' AND password='$pasw_n'");
                    $count2=mysql_num_rows($res2);

                    if($count2 == 1){
                                    header('Location: http://imes,jzpersonal.com/userpanel.php');   
                    }else {
                                    setcookie('usr_IMes', $user_n, time() - 31*24*60*60);
                            setcookie('psw_IMes', $pasw_n, time() - 31*24*60*60);

                                    header('Location: http://imes,jzpersonal.com/index.html');
                    }

}else{

if(!isset($_SESSION['username']))
{
header('Location: http://imes.jzpersonal.com/index.html');
}

if(empty($_SESSION['username']))
{
header('Location: http://imes.jzpersonal.com/index.html');
}
}

何らかのエラーが見つかることを願っています。ご協力ありがとうございます。

4

1 に答える 1

2

リダイレクトは不適切な URL です: http://imes,jzpersonal.com/userpanel.php- これにより、「ページの読み込みエラー」が発生します。それに加えて、ユーザー名/パスワードを Cookie に保存しないでください。Cookie はマシン上で表示される可能性があるため、これはひどい習慣です。また、非推奨の元の PHP MySQL API を使用しています。PDO または mysqli を使用する必要があります。

于 2013-01-09T21:03:03.423 に答える