Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过URL和AJAX在内部保护密码?_Javascript_Html_Ajax_Url - Fatal编程技术网

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

Javascript 通过URL和AJAX在内部保护密码?,javascript,html,ajax,url,Javascript,Html,Ajax,Url,在我的老公司,我们有一个内部网站设置,只有在URL末尾有密码的情况下才允许您查看。我想这是在使用AJAX,但我不太确定,即使是这样,我也不确定如何编写代码 URL看起来像是internal.mysite/secretpanel?pass=superman,如果您键入的不是superman,它会将您重定向到错误的pass页面 我的问题是如何检查URL中的密码并重定向到“错误密码”页面 我希望你没有用它来做任何安全的事情。在URL中而不是作为POST数据的密码不是最好的主意 不,那不是阿贾克斯 您希

在我的老公司,我们有一个内部网站设置,只有在URL末尾有密码的情况下才允许您查看。我想这是在使用AJAX,但我不太确定,即使是这样,我也不确定如何编写代码

URL看起来像是internal.mysite/secretpanel?pass=superman,如果您键入的不是superman,它会将您重定向到错误的pass页面

我的问题是如何检查URL中的密码并重定向到“错误密码”页面

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

  • 您所描述的听起来不像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>";
     }
    
    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
    

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

    所以如果我使用PHP,我将如何完成这样的事情?不,这不是为了任何安全,我只是想让一个工具不被部门以外的人在内部乱搞。我感谢大家对安全性的关注,这是很有帮助的,但我更感兴趣的是URL密码的原始问题,它不是为了安全,它首先是为了速度,最后是安全性。你可以使用if($\u GET['password'!=“superman”)进行检查{header(“Location:someotherpage.com”);}也就是说,我们建议对安全性进行更改的原因是,您可能根本不具备当前方案的安全性。