如何保护我的PHP网页免受未授权用户的攻击

问题描述:

我是PHP新手,面临安全问题。 我用的,如果他们没有登录这个重定向未授权的用户。如何保护我的PHP网页免受未授权用户的攻击

<?php 
session_start(); 

if(!isset($_SESSION['user_id'])) { 
    header('Location: login.php'); 
} 
?> 

这是对我的网页的每一个顶部,但是当我登录并点击我的受保护的页面会重定向到登录页面,而不是原来的/保护页面打开,我的会话变量设置在我的登录页面上,如何将此会话变量包含在受保护的页面中。

+2

发布您的登录页面'code' – Nauphal 2013-05-04 08:55:44

如果当你登录时,它会向您发送到登录页面,然后$_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以外的任何值。