dongyi6668 2017-01-24 09:30
浏览 65
已采纳

日志文件与数据库在哪里保存用户活动数据以进行分析?

I am currently working on a website which have functionality of login. I need to track user activities like time of login-logout, total duration of browsing, IP Address , location etc. This all data will be used for analysis and security purposes.

Now , there are two options (at least i know) to save such a huge data either in database or in log files.

What is right thing to do save in DB or in logs? .

In case anyone wants to know, i am using using PHP as programming language and MySQL as DB and don't have any experience in data analysis.

  • 写回答

4条回答 默认 最新

  • dongli8979 2017-01-24 09:47
    关注

    Better to go with DB because if you want to analyze or sort login tries by IP, location ..etc. you can easily do that with MySQL queries but when you go to log you should have an editor and search for something will be really hard. I personally log the same functionality in my app here is some code how to get browser info and IP.

    <?php
    
    function log_login_activity($loginEmail, $loginAuthType = '', $loginAttemptStatus = '', $error = '', $loginRedirect = '',$HeaderInfo = ''){
        $loginTime = time();
        $browserInfo = getBrowser();
        $browser = $browserInfo['name'].' '.$browserInfo['version'];
        $loginIP = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
        $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "HTTPS" : "HTTP";
        $browserAgent = $browserInfo['userAgent'];
        DB::insert('?:login_logs',array('email' => $loginEmail, 'time' =>$loginTime, 'browserInfo' =>$browser, 'loginAuthType' =>$loginAuthType, 'IP' =>$loginIP, 'error' => $error, 'protocol' => $protocol, 'loginRedirect' => $loginRedirect, 'browser' => $browserAgent));
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算