我在这里遵循了一个教程:http://www.phpeasystep.com/phptu/6.html我想知道这是不是创建安全登录区域的最好方法。
if(!session_is_registered(myusername)){
header("location:main_login.php");
}
所以它基本上是一个if语句从让人们进入,它甚至访问页面,它是登录只是似乎不太安全的我idk。
任何人都能说明这个问题。也许有一个更好的教程可以更好地介绍安全性。
谢谢
不;那个教程有很大的问题,你不应该用它。
- 以明文形式存储密码
- 它使用过时的mysql扩展名(它应该至少使用mysqli)
- 正如Darren所说,它使用了过时的PHP函数
维基百科稍微好一点;它至少使用SHA-512进行密码散列,但它仍然不是一个很好的登录解决方案。PHP Login项目是一个更好、更完整的示例,可以使用或遵循。
从哪里开始?
session_is_registered()
为折旧。<一口> (来源)一口>
警告:此函数已从PHP 5.3.0起被弃用并已删除从PHP 5.4.0开始。
你必须像这样正确地注册你的会话:
session_start();
//.....do processing and whatever
// set session variables etc.
$_SESSION['uid'] = $uid;
并像这样测试是否存在:
session_start();
if(!isset($_SESSION['uid'])) {
header("location:main_login.php");
}
注意
您需要在尝试访问任何$_SESSION
信息之前拥有session_start()
,否则它将始终返回false