【问题标题】:How to get information about the client that requests page from Server?如何获取有关从服务器请求页面的客户端的信息?
【发布时间】:2012-09-15 15:33:02
【问题描述】:

我需要获取有关从服务器请求页面的客户端的信息。我需要获取有关客户端 IP 以及请求哪个页面的信息?我更喜欢控制台应用程序,即 linux[Ubuntu] 中的 Shell 或 Bash 脚本。如果请求页面,控制台或终端会立即打印消息。在该消息中,它应该包含所请求的 IP 地址和页面。我还想通过 MySQL 将 IP 地址和请求的页面保存到数据库中。感谢您的回答和解决方案。

谢谢

【问题讨论】:

    标签: php mysql bash shell webserver


    【解决方案1】:

    你必须在 php 中使用$_SERVER[]

    这将为您提供所需的客户端和服务器的所有信息。

    http://php.net/manual/en/reserved.variables.server.php

    【讨论】:

    • 我知道关于 php.ini 的内容。它有任何用于 bash 脚本的命令吗?
    • 我需要看到客户端对控制台的实时访问。
    【解决方案2】:
    For all the server variable use You have to use $_SERVER[] in php.
    @Yogesh Suthar is absolutely correct and being specific you can use these variables.
    
    For IP address
    $_SERVER['REMOTE_ADDR'];
    
    For Request Page 
    $_SERVER["HTTP_REFERER"];
    

    【讨论】:

    • 我认为它可以在 php 中工作......我明白了,但我也需要使用 bash 脚本。你对此有什么想法吗?
    【解决方案3】:

    尝试在网络服务器访问日志上使用watch+grep+date。在我的情况下是

    watch -n -1 'd=`date +"%d/%b/%Y:%T"`;grep $d /pgms/nginx1117/logs/access.log '
    

    您必须注意访问日志中的日期格式。输出也会在一秒钟内消失。

    [编辑:使用以下命令将显示时间延长至 3 秒。再次,您将不得不根据您的配置对其进行自定义。]

    watch -n 1 '
      d0=`date +"%S"`;
      if [ $d0 -ne 0 ]; then d1=$(printf %02d `expr $d0 - 1`); else d1=59; fi ; 
      if [ $d1 -ne 0 ]; then d2=$(printf %02d `expr $d1 - 1`); else d2=59; fi ; 
      d=`date +"%d/%b/%Y:%H:%M:"`;
      grep -e "$d$d0" -e "$d$d1" -e "$d$d2" /pgms/nginx1117/logs/access.log | awk "{ print \$1,\$7 }" 
    '
    

    【讨论】:

    • 这几乎是有用的信息我不想让输出消失......它几乎就在那里......我确实喜欢有就像我们正在ping IP地址......做你有什么想法吗?
    • 这很令人困惑.....但是感谢您分享宝贵的信息...有没有其他方法可以查看更改的实时文件操作?
    • 我已经在页面底部分享了答案。
    【解决方案4】:

    嘿,我的问题解决了。刚刚从@air4X 那里得到了线索

    watch -n -1 'd=`date +"%d/%b/%Y:%T"`;tail -n 20 /opt/lampp/logs/access_log '
    

    感谢您的大力帮助....

    【讨论】:

      【解决方案5】:

      运行这个小的 PHP 脚本:

      <?php
      foreach($_SERVER as $key => $value){
      echo '$_SERVER["'.$key.'"] = '.$value."<br />";
      }
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-27
        • 2014-07-07
        • 2017-06-08
        • 1970-01-01
        相关资源
        最近更新 更多