在开发使用具有某些管理员权限的帐户的小型网络应用时,我在非管理员帐户尝试访问管理员页面时使用了location:标头。然而,我在读到有关于此的一些安全问题,但我无法得到清楚的东西。
使用location:header重定向是否安全?这就够了吗?
if(!isset($_SESSION['userId'])){
header('Location: login');
exit;
}
还是有安全的选择吗?
答案 0 :(得分:0)
唯一更安全的选择是保证您在exit;
通话后不会忘记header();
。
<?php
function redirect(string $path)
{
header("Location: {$path}");
exit;
}
redirect('/login');
否则,恭喜您避免了HTTP重定向的常见陷阱(即在发送响应标头后仍在处理HTTP请求)。