如何保护我的PHP网页免受未授权用户的攻击
问题描述:
我是PHP新手,面临安全问题。 我用的,如果他们没有登录这个重定向未授权的用户。如何保护我的PHP网页免受未授权用户的攻击
<?php
session_start();
if(!isset($_SESSION['user_id'])) {
header('Location: login.php');
}
?>
这是对我的网页的每一个顶部,但是当我登录并点击我的受保护的页面会重定向到登录页面,而不是原来的/保护页面打开,我的会话变量设置在我的登录页面上,如何将此会话变量包含在受保护的页面中。
答
如果当你登录时,它会向您发送到登录页面,然后$_SESSION['user_id']
可能没有设置,或者你不包括会议文件,以检查它,这样做:
var_dump($_SESSION['user_id'])
在页面上,并暂时离开了header
如果后续代码var_dump返回NULL,这意味着,$_SESSION['user_id']
未设置
答
试试这个:
if(!isset($_SESSION['user_id']))
{
// The user id variable is not set. Therefore, the user is most likely a guest.
$_SESSION['user_id'] == 0;
}
if($_SESSION['user_id'] == 0)
{
// The user does not have a user id set. We assume, therefore, that they are a guest.
header("Location: login.php");
}
另外,在您的登录脚本中,请确保您将$_SESSION['user_id']
设置为0以外的任何值。
发布您的登录页面'code' – Nauphal 2013-05-04 08:55:44