PHP包含仅用于管理的文件
我的网站由一个页面组成(或者说是全部页面),上面有所有处理PHP包含仅用于管理的文件,php,include,admin,Php,Include,Admin,我的网站由一个页面组成(或者说是全部页面),上面有所有处理POST的内容。现在,我有一些专为管理员准备的POST。这些文件位于单独的文件中,因此我将其包括如下内容: if($_SESSION['type'] == 'admin'){ include('adminhandler.php'); } 现在,在adminhandler.php中,我还检查每个POST或函数中的用户类型是否正确,例如: if(isset($_POST['deleteUser']) && $_SES
POST
的内容。现在,我有一些专为管理员准备的POST
。这些文件位于单独的文件中,因此我将其包括如下内容:
if($_SESSION['type'] == 'admin'){
include('adminhandler.php');
}
现在,在adminhandler.php
中,我还检查每个POST
或函数中的用户类型是否正确,例如:
if(isset($_POST['deleteUser']) && $_SESSION['type'] == 'admin'){ /* do stuff;*/ }
现在,我想知道这是否真的有必要。用户是否有可能在不使用admin
的$\u会话['type']
的情况下操纵任何东西以某种方式包含php文件
这可能是一个愚蠢的问题,但为了安全起见,我宁愿先确定后不确定。如(请参阅问题注释)所述,建议进行第二次检查,以防我忘记。$\u会话数据完全保存在服务器端。只要你不做一些愚蠢的事情,比如允许
$\u SESSION[$\u GET['key']]=$\u GET['value']
,让用户直接操纵或影响会话内容,那么。。。他们无法让您的系统包含该文件。因此,在已检查的包含文件中进行第二次检查是不必要的?进行冗余安全检查不会有什么坏处。你可能有一天头发不好,忘了把检查放在父文件中,但如果包含的文件中有重复检查,你仍然是安全的。我想我会在整个页面上多放一个检查,以防我也忘了检查每一个POST
或其他函数;)谢谢不安全感使我的工作效率显著下降