php - 同域多表单认证

标签 php forms authentication

我有一个网站,在不同的页面中有两种形式的身份验证,具有不同的输入名称和指向不同页面的链接。问题是,当我将身份验证保存到表单的浏览器(chrome)时,浏览器会在另一个表单中填写具有相同数据的字段。怎么可能?

第一种形式

<form action="" method="POST" enctype="multipart/form-data">
              <div class="form-group">
                <label for="exampleInputEmail1">Email</label>
                <input type="email" name="private_email" class="form-control" id="email1" value="" placeholder="Enter email" required>
              </div>
              <div class="form-group">
                <label for="exampleInputPassword1">Password</label>
                <input type="password" class="form-control" name="private_password" value="" id="password1" placeholder="Password" required>
              </div>
              <input type="submit" name="login" class="btn btn-default" value="Login">
            </form>

Second Form(它是 cms 的一种形式)

<form action="http://escuolainsieme.it/shop/login" method="post" id="login_form" class="box">
            <h3 class="page-subheading">Sei già registrato?</h3>
            <div class="form_content clearfix">
                <div class="form-group form-ok">
                    <label for="email">Indirizzo email</label>
                    <input class="is_required validate account_input form-control" data-validate="isEmail" type="text" id="email" name="email" value="">
                </div>
                <div class="form-group">
                    <label for="passwd">Password</label>
                    <span><input class="is_required validate account_input form-control" type="password" data-validate="isPasswd" id="passwd" name="passwd" value=""></span>
                </div>
                <p class="lost_password form-group"><a href="http://escuolainsieme.it/shop/recupero-password" title="Recupera la password dimenticata" rel="nofollow">Hai dimenticato la password?</a></p>
                <p class="submit">
                    <input type="hidden" class="hidden" name="back" value="my-account">                     <button type="submit" id="SubmitLogin" name="SubmitLogin" class="button btn btn-default button-medium">
                        <span>
                            <i class="icon-lock left"></i>
                            Entra
                        </span>
                    </button>
                </p>
            </div>
        </form>

登录.php

<?php session_start(); // Starting Session
$error = ''; // Variable To Store Error Message 
if (isset($_POST['private_login'])) {
if (empty($_POST['private_email']) || empty($_POST['private_password'])) {
    $error = "<div class='alert alert-danger'>Compila tutti i campi</div>";
} else {
    $email = mysqli_real_escape_string(conn(), $_POST['private_email']);
    $password = mysqli_real_escape_string(conn(), $_POST['private_password']);
    $cls_utente = new utente();
    if ($cls_utente->check_user($email, $password) == 1) {
        $_SESSION['login_user'] = $email; // Initializing Session
        $_SESSION['is_logged']  = true;
    } else {
        $error .= "<div class='alert alert-danger'>Email o password errati</div>";
    }
}}?>

最佳答案

您可以尝试使用 autocomplete="false"autocomplete="off" 来禁用它,不确定它是否有效但请尝试一下。

就我而言,不可能让浏览器“意识到”它们是不同的表单,并且不应自动填充相同的数据。

看看这 2 个答案,answer1 answer2有关浏览器如何检测表单的更多信息。

关于php - 同域多表单认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30727014/

相关文章:

php - 使用 php 进行 MySQL 搜索查询

ruby-on-rails - rails form_tag url 路径

angular - 当 Angular 中的条件错误(静态用户名和密码)时,在登录按钮下显示错误消息?

CakePHP - 验证以保存用户上次登录时间

javascript - 如何将单击/选定的行数据从一个表传递到并排放置的另一个表

javascript - Gmail 中使用图像标签跟踪电子邮件?

php - 在PHP中通过IP阻止客户端一段时间

php - 表间自增

javascript - 在不知道加密方法的情况下通过给定的密码和盐对用户进行身份验证

node.js - 基于 token 的身份验证(在 Node.js 中)