使用AJAX和PHP验证简单密码

时间:2016-11-18 19:52:59

标签: javascript php ajax passwords password-protection

我有一个希望简单的问题需要解决。我们正在尝试使用简单的密码保护我们网站安全部分内的链接。基本上,在我们传统安全的网站内,我们有一个动态驱动的记录表,带有一个挂锁图标,可以在锁定和解锁之间来回切换。该站点的这一部分传统上是安全的,只有授权用户才能访问。因此,我们只想实现这种不太安全的静态PHP密码身份验证系统,该系统允许用户锁定和解锁此表中的记录。基本上,一旦他们在表中创建了一个记录,他们就可以选择点击锁定图标(这显然会锁定记录),但只有那些带有简单硬编码引脚的人才能锁定一个记录(即所有用户都可以锁定,但并非所有用户都可以解锁)。因此我尝试编写一个简单的PHP + AJAX引脚系统。我的其他管理员坚持服务器端解决方案。他拒绝使用基本的javascript,我同意。它仍然需要合理的安全性。这是我到目前为止所拥有的,但我对AJAX非常新(分钟),显然有些东西不起作用。这是一个名为pin.php的文件(基本上该页面提交给自己)

UNLOCK链接模拟用户点击以解锁记录的锁定图标。

<html>
<script src="js/jquery.js" type="text/javascript"></script>
<?php
    $static_password = "1234";
    if(isset($_POST['data'])){
        $submit_password = $_POST['data'];
        if($submit_password == $static_password){
            echo "Do the unlock stuff";
        }
        else{
            echo "Sorry try again";
        }
    }
?>
<body>
<h2>Simple AJAX PHP Example</h2>
<a href="javascript:Unlock();">UNLOCK</a>
<script>
function Unlock() {
    var pin=prompt("You must enter pin to unlock");
    $.ajax(
    {
        url: 'pin.php',
        type: 'POST',
        dataType: 'text',
        data: {data : pin},
        success: function(response)
        { 
            console.log(response);
        }
    });
}
</script>
</body>
</html>

非常感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:3)

这对我来说符合预期:

<?php
    $static_password = "1234";
    if(isset($_POST['data'])){
        $submit_password = $_POST['data'];
        if($submit_password == $static_password){
            die("Do the unlock stuff");
        }
        else{
            die("Sorry try again");
        }
    }
?><!DOCTYPE html><html>
<head>
    <script src="jquery-3.1.0.min.js" type="text/javascript"></script>
</head>
<body>
<h2>Simple AJAX PHP Example</h2>
<a href="javascript:Unlock();">UNLOCK</a>
<script>
function Unlock() {
    var pin=prompt("You must enter pin to unlock");
    $.ajax(
    {
        url: 'pin.php',
        type: 'POST',
        dataType: 'text',
        data: {data : pin},
        success: function(response)
        { 
            console.log(response);
        }
    });
}
</script>
</body>
</html>