[英]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.