您好我正在尝试编写一个限制用户访问页面的脚本,直到他使用用户名和密码登录为止。我一直在为用户名和密码获取未定义的索引文件?任何人都有任何建议??
<!DOCTYPE html>
<html lang="en">
<head>
<title> Exercise 3</title>
<meta charset="utf-8">
</head>
<body>
<?php
$name = “Frank”;
$age = “28”;
var_dump($name);
echo "<br>";
print_r($name);
echo "<br>";
var_dump($age);
echo "<br>";
?>
</body>
</html>
答案 0 :(得分:1)
即使没有提交登录表单,您的代码仍在运行。您需要检查是否实际登录尝试:
<?php
if($_SERVER["REQUEST_METHOD"] == 'POST') {
... process login attempt ...
}
display_login_form();
即便如此,要练习正确的“安全编程”技术,您也不应该假设特定的表单变量始终存在:
if(isset($_POST['username'])) {
$username = $_POST['username'];
} else {
die("Username cannot be blank");
}
答案 1 :(得分:0)
相当重要的话题。保护目录的最简单方法是让Web服务器执行繁琐的工作并设置htaccess文件。 http://www.htaccesstools.com/htaccess-authentication/是一个在线工具。
要通过PHP执行此操作,您需要获取用户登录信息,然后提供会话cookie以告知其他URL是否已登录。如果cookie是hackable或其他URL假定他已登录,那么他可以轻松绕过你的登录。除非您只想保护一页。
如果要将用户存储在数据库中,则会出现许多快速出现的安全问题。用户输入必须完全清除任何可能导致黑客攻击的角色。