0

私の古い会社では、URLの最後にパスワードが付いている場合にのみ表示できるように、内部Webサイトを設定していました。これは、AJAXを使用していると思いますが、よくわかりません。コーディング方法がわからない。

URLはinternal.mysite/secretpanel?pass = supermanのようになり、superman以外のものを入力すると、間違ったパスページにリダイレクトされます。

私の質問は、URLでパスワードを確認し、「不正なパスワード」ページにリダイレクトするにはどうすればよいですか?

4

3 に答える 3

1
  1. 安全な目的でそれを使用していないことを願っています。POSTデータではなくURLのパスワードは最善の方法ではありません。
  2. いいえ、それはAJAXではありません。
  3. これは、クライアント側ではなく、サーバー側で実行する必要があります。
于 2012-04-21T01:03:55.113 に答える
1

あなたが説明したことはAJAXのようには聞こえず、また(内部システムに関してさえ)ひどく安全でないシステムです。

PHPを使用している場合は、URLのクエリ文字列の一部としてパスワードを渡すのではなく、セッションを確認することをお勧めします。これの簡単な実装は、あなたの秘密を含むページにあなたをリダイレクトする前に、フォームから投稿された値をチェックするログインページを持つことです。

login.php

 session_start();
 if (isset($_POST['username']) && isset($_POST['password']))
 {
     // Check to see if the username and password is correct
     if (user_is_valid_user($_POST['username'], $_POST['password'])
     {
         $_SESSION['logged_in'] = true;

         // Redirect to your secret page
         header("Location: http://mysite.com/secret.php");
     }
 }
 else
 {
     // Display the login form
     echo "<form method=\"post\" action=\"login.php\">";
     echo "   <input type=\"input\" name=\"username\" />";
     echo "   <input type=\"password\" name=\"password\" />";
     echo "   <input type=\"submit\" value=\"Login\" />";
     echo "</form>";
 }

secret.php

session_start();
if (!isset($_SESSION['logged_in']))
{
     // Redirect to the login page since user is not logged in
     header("Location: http://mysite.com/login.php");
}

// Display your secret content here
于 2012-04-21T01:26:16.060 に答える
0

$ _GET ['password'](または「パスワード」変数名として使用する任意の名前)を使用します。変数に割り当てるか、サーバーに保存されている変数と直接比較します。セキュリティに関心がない場合は、それをクレンジングする必要もありません。ceejayozは正しいですが、セキュリティが必要な場合は、投稿された変数を使用してください。そうすれば、誰もURLパスワードを「見下ろして見る」ことができなくなります。

于 2012-04-21T01:26:55.523 に答える