我有一个简单的登录页面,用于检查数据库凭据,然后每个页面都包含auth.php
,验证$_SESSION['logged']
已设置,并且该会话未过期。php身份验证最佳实践...?
问题是,每个页面还包含另一个页面tab.php
(类似于菜单),我也需要限制访问,但包括auth.php
在内的tab.php
使得包含发生两次。如果我不包含auth.php
tab.php
,任何人都可以直接跳过tab.php
绕过验证检查,并可能检索隐私信息。
要解决这种情况的最佳实践?
编辑:
我忘了问,但你用什么路径,使其相对于站点根目录?由于两个auth.php
和tab.php
是在文件夹和index.php
包括tab.php
是根 - include函数根据我用什么路径('./includes/auth.php'
OR './auth.php'
)给出了一个错误或者index.php
或tab.php
- 如果你知道我的意思。我试过'/includes/auth.php',但那不起作用。
你是什么意思“任何人都可以访问标签。 PHP的“?你是说如果他们知道文件的路径,他们可以通过手动输入来查看它? – Gazillion
所以你想确定,必须包含auth.php,但你不想包含两次? – dwalldorf
难道你不需要:'include_once()'? – PeeHaa