簡體   English   中英

如何記錄用戶登錄和注銷的日志?

[英]How can I keep a log of users logging in and out?

我正在創建一個管理面板來記錄故障,保存任務,記錄錯誤等等。 我當前在屏幕頂部有以下代碼,用於檢查用戶是否已登錄,如果沒有,則將其發送到登錄名/創建用戶頁面。

<?php
session_start();

        include 'login/config.php';

        if(!isset($_SESSION['username'])){
            header('location:login/index.php');
            exit();
        }


?>

我覺得可能會有更好的方法來做,也可以有更安全的方法。 登錄並進入初始顯示板需要用戶名和密碼,稍后將添加用戶狀態級別和權限。

問題::

如何通過改進代碼或添加其他安全功能來使系統更安全?

用戶登錄和退出管理系統后,如何登錄到我的SQL數據庫?

至於安全性,我不是專家,所以我寧願拭目以待,看看別人怎么說,因為這是一個非常有趣的話題。 但是我還是會給你我的想法。

首先,您應該注意登錄時的SQL注入, 始終驗證用戶的輸入數據,尤其是CRUD操作。 我認為通過會話保護您的頁面應該足夠好,只要登錄本身是安全的,例如,您可以實施一個在幾次嘗試登錄失敗后都會阻止IP的系統...

關於第二部分,您可以創建一個表,即userlog ,其中將包含您想要的字段, user_id, action(login/logout), time 然后,每次用戶登錄/注銷時,您只需在表中插入一條新記錄。 該段代碼將位於您設置/取消會話的位置。 不確定這種方法的效率,但這是一種實現您所說的方法。

您可以創建諸如login_history之類的表,該表具有每個系統時間的登錄時間和登錄時間字段。 當用戶登錄時,將插入loginTime,並且當他的注銷記錄更新為logoutTime。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM