我使用Zebra Session作为Session包装器,试图让我的网站更安全。
我遇到的问题是:
用户输入登录详细信息,然后将这些详细信息传递给login-function.php。根据数据库检查详细信息(使用PHP的内置函数和预准备语句)。
如果登录成功,用户将被重定向到他们的个人资料页面,并存储一个名为$ _SESSION ['user']的变量 - 包含他们的电子邮件地址,以便日后在查询中使用(安全吗?)< / p>
在页面中需要Profile-function.php,如下所示: “require('path to / profile-function.php');
并使用“if(isset($ _ SESSION ['user'])){”查看是否设置了Session变量,如果是,则回显其余内容。
会话在每个页面上启动,如下所示:
$link = new mysqli("127.0.0.1", "username", "password", "table");
if($link->connect_errno > 0) {
die('Unable to connect to database [' . $link->connect_error . ']');
}
$secint = bin2hex(openssl_random_pseudo_bytes(12));
require('pathto/Zebra_Session.php');
$session = new Zebra_Session($link, $secint);
在打开PHP标签后的最顶层。
正在记录变量,因为我可以通过login-function.php脚本中的url传递它。
我是否需要在页面之间使用$ _POST传递变量,因为我的理解是Zebra_Session将会话数据记录到数据库中,但是我的数据库中的BLOB字段中没有记录数据。