限制访问php页面直到用户登录

时间:2013-12-05 20:17:36

标签: php mysql

您好我正在尝试编写一个限制用户访问页面的脚本,直到他使用用户名和密码登录为止。我一直在为用户名和密码获取未定义的索引文件?任何人都有任何建议??

<!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>

2 个答案:

答案 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假定他已登录,那么他可以轻松绕过你的登录。除非您只想保护一页。

如果要将用户存储在数据库中,则会出现许多快速出现的安全问题。用户输入必须完全清除任何可能导致黑客攻击的角色。