我正在创建一个管理面板来记录故障、保存任务、记录错误等等。目前,我在屏幕顶部有以下代码,用于检查用户是否已登录,如果未登录,则将其发送到登录/创建用户页面。
<?php
session_start();
include 'login/config.php';
if(!isset($_SESSION['username'])){
header('location:login/index.php');
exit();
}
?>
我觉得可能有更好的方法和更安全的方法来做到这一点。 需要用户名和密码才能登录并进入初始仪表板,稍后将添加用户状态级别和权限。
问题::
如何通过改进代码或添加额外的安全功能来使系统更加安全?
并且
当用户登录和退出管理系统时,如何登录我的 SQL 数据库?
最佳答案
至于安全性,我不是这方面的专家,所以我宁愿等待,看看其他人告诉你什么,因为这是一个非常有趣的话题。但无论如何我都会告诉你我的想法。
首先,您应该注意登录时的 SQL 注入(inject),始终验证用户的输入数据,特别是 CRUD 操作。我认为用 session 保护你的页面应该足够好,只要登录本身是安全的,例如你可以实现一个系统,在几次尝试登录失败后阻止IP等等......
关于第二部分,您可以创建一个表,即userlog
,其中包含您想要的字段,user_id、action(login/logout)、time
。
然后每次用户登录/注销时,您只需向表中插入一条新记录。该代码段将位于您设置/取消设置 session 的位置。
不确定此方法的效率,但这是实现您所说内容的一种方法。
关于php - 如何保留用户登录和退出的日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29649385/