当一个人在我的网站上注册或登录时,他们会被发送到“thanks.php”。
页面检查是否已登录,如果是,则告诉您可以执行的操作,如果没有,则为您提供指向register.php页面的链接。
然而,任何人都可以制作自己的cookie并欺骗脚本。
我如何保护自己免受这种伤害?
我想到的一件事是检查数据库中是否存在$_SESSION['session_id']
。据我所知,你不能自己生成,即使你可以,你需要数据库访问才能找到一个。
我不太确定,是否有人对这类“谢谢”页面有任何建议或经验?
答案 0 :(得分:5)
如果没有访问服务器,则无法生成任何会话数据或数据库数据。因此,一个安全的方法是设置一个SESSION cookie,带有一些变量,并检查它。
session_start();
$_SESSION['logged_in'] = true;
session_start();
if(!isset($_SESSION['logged_in']))
{
header("Location: youarentsupposetobehere.com");
}
答案 1 :(得分:2)
嗯,是的,当人们登录时,你不应该设置一个说loggedin=true
或其他的cookie。
您应该设置$_SESSION['loggedin'] = TRUE
PHP通常负责保护自动管理该会话的cookie