Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP包含仅用于管理的文件_Php_Include_Admin - Fatal编程技术网

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
或其他函数;)谢谢不安全感使我的工作效率显著下降