PHP登录计数器

标签 php variables authentication counter

我在保留变量方面遇到了问题。我想当您提交表单时,变量将重置为默认值。所以我不知道如何在它说“走开!黑客!”之前限制 3 次登录尝试。仅使用 php,仅此而已。 有人有线索吗?不要担心安全性,因为这只是我的教授给我们的练习示例,我们需要单独使用 php 来完成。所以不用担心黑客会重置 cookie。

注意:我只使用 XAMPP 让 php 在本地主机上工作。

PHP 代码如下:

<center><form action="" method="post"><br>
User ID: <input type="text" name="id"><br>
Password: <input type="password" name="pass"><br>
<input type="submit" name="submit" value="login">
</form>

<?php
if(isset($_POST['submit'])){
    $counter = 0;
    $counter++;
    $vid = 'hanzo';
    $vpass = '123456';
    $id = $_POST['id'];
    $pass = $_POST['pass'];
    $c = "<center>";
    if(empty($id)) echo "$c Please Input Username.<br>";
    else if(empty($pass)) echo "$c Please Input Password.<br>";
    else if($vid==$id && $vpass==$pass) echo "$c Login Succesfully<br>";    
    else if($counter>3) echo "$c Go Away! Hacker!<br>";
    else echo "$c Invalid Username/Password<br> Login Attempt: $counter";
}
?>

最佳答案

您可以将变量粘贴到 session 中,以便通过多个页面加载为用户/客户端机器保留它们。 http://us3.php.net/manual/en/intro.session.php

每次您的脚本运行时,它都以一片空白开始。除了神奇的 $_X 变量外,所有变量都是未定义的。您需要将您自己的任何数据放在某个地方,这些数据将在多次运行中持续存在 - session 、cookie、数据库、文本文件等。

session 可能是最简单的方法。由于它们具有客户端元素,因此它们并不完全安全。相对成熟的用户可以绕过 session 检查。

关于PHP登录计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11524614/

相关文章:

php - Laravel重写不起作用

c# - 将敏感数据从我的网站发送到我的 C# 应用程序

java - 是否可以在List中放入两个变量类型?

C++ 类 getter 在 main 中不返回任何值,但在类中返回任何值?

asp.net - 配置IIS客户端证书映射认证

php - 尝试在 Amazon EC2 上升级 sqlite

PHP - array_map 比 foreach 快吗?

javascript - 不同 '&lt;script&gt;' 标签中的相同变量不会发生冲突吗?

authentication - 修改用于公钥签名的 SSH 代理

Python 身份验证