我想将CSRF令牌添加到登录页面上发出的每个帖子请求中

时间:2019-05-02 06:29:47

标签: php csrf

我想将CSRF令牌添加到登录页面上发出的每个POST请求中。

我是PHP新手,并尝试实现CSRF令牌,但由于我的愚蠢错误,我的页面无法加载。 我想使用CSRF保护来制作易受攻击的SQLi页面,这就是为什么我要编写易受攻击的代码的原因。 我想将CSRF令牌添加到此页面。我的登录页面正在按预期工作,只想添加CSRF。

    <?php
    session_start();

    if($_POST['submit']) {
    include_once('connection.php');
    $username = strip_tags($_POST['username']);
    $password = strip_tags($_POST['password']);

    $sql = "SELECT id,username,password FROM users where username = 
        '$username' LIMIT 1";
    $query = mysqli_query($db, $sql);
    if($query) {
        $row = mysqli_fetch_row($query);
        $userId= $row[0];
        $dbUserName = $row[1];
        $dbPassword = $row[2];
    }
    if($username == $dbUserName && $password == $dbPassword) {
        $_SESSION['username'] = $username;
        $_SESSION['id'] = $userId;
        header('Location: user.php');
    }
    else {
        echo "<b><i>Incorrect credentials</i><b>";

    }
      }

    ?>


    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    <h1>Login</h1>
    <form method="post" action="index.php">
    <input type="text" name = "username" placeholder="Enter username">
    <input type="password" name="password" placeholder="Enter password here">
    <input type="submit" name="submit" value="Login">
    </form>

    </body>
    </html>

如果令牌有效,则允许用户登录应用程序,否则给出错误“令牌无效”。如果令牌正确,则用户将移动到新页面。

0 个答案:

没有答案