通过URL和AJAX在内部进行密码保护?

时间:2012-04-21 01:00:42

标签: javascript html ajax url

在我的旧公司,我们有一个内部网站设置只允许你查看它,如果你的URL末尾有密码,我认为这是使用AJAX但我不太确定,即使它是我不确定如何编码。

URL看起来像这个internal.mysite / secretpanel?pass = superman,如果你输入除超人以外的任何东西,它会将你重定向到不正确的传递页面。

我的问题是如何检查密码的网址并重定向到“密码不正确”页面?

3 个答案:

答案 0 :(得分:1)

  1. 我希望你没有用它来做任何安全的事情。 URL中的密码而不是POST数据不是最好的主意。
  2. 不,那不是AJAX。
  3. 您希望在服务器端而不是客户端执行此操作。

答案 1 :(得分: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

答案 2 :(得分:0)

使用$ _GET ['password'](或您希望用作“密码”变量名称的任何名称)。将其分配给变量或直接与服务器保存的变量进行比较。如果您不关心安全性,也不需要清理它,尽管ceejayoz是正确的,如果您想要安全性,请使用已发布的变量,这样任何人都不会“碰巧看下来并看到”网址密码。