php - 如何保留用户登录和退出的日志?

标签 php mysql security authentication audit-trail

我正在创建一个管理面板来记录故障、保存任务、记录错误等等。目前,我在屏幕顶部有以下代码,用于检查用户是否已登录,如果未登录,则将其发送到登录/创建用户页面。

<?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/

相关文章:

mysql - 使用 mysql_config 和 pkg-config 编译代码

php - 根据查询类型和表将流量路由到特定的 MySQL 连接

java - Oracle Webcenter 内容中的管理 java 小程序 WCC 无法打开

security - 在您网站的每个页面上使用 SSL 有多重要?

php - JQuery 从动态内容中加载动态内容

php - Woocommerce 需要字段

php - 从某个阶段和级别获取分数列表

mysql - 我可以使用 t1 行作为 t2 行的键从两个表中选择行吗?

security - 如何防止移动应用程序中的网络钓鱼?

PHP 在 5 个变量之间平均切换