以下是保护仅用户区域的安全方法吗?
if(!isset($_SESSION['username'])){redirect(SITE_ROOT . 'st_pages/login/');}
使用:
function redirect($url)
{
header('Location: ' . $url);
exit('<a href="' . $url . '">Redirecting you to: ' . $url . '</a>');
}
答案 0 :(得分:4)
是的,这是安全的
虽然header()没有终止任何东西,但exit()确实终止了一个脚本。这是此功能的唯一目的
答案 1 :(得分:0)
重定向部分可以通过这种方式完成,并且应该是安全的。
有趣的问题是,只检查会话中的用户名是多么安全。这取决于脚本的前几行。
第二个有趣的问题当然是,未经授权访问该区域的重要性以及您希望投入多少工作用于安全性。
答案 2 :(得分:0)
我通常使用:
<?php
die(header("Location: page.php"));
?>
这是否是最好的事情,我不做任何断言!另外,正如b_i_d所说,我个人不会通过检查用户名来检查会话,因为它不完全安全......会话是否可以编辑?通常情况下,我会存储用户名和密码(当然是MD5),然后针对数据库运行,以查看是否存在包含这些详细信息的记录。