2011-11-14 46 views
0

我想用PHP仅捕获一个Web请求的简单信息。我可以存储哪些变量?这是我到目前为止有:基本PHP网络分析

https://gist.github.com/1363218

我对这个功能的心愿:

  • 打开语言到由权重来排序的关联数组
  • 添加全名语言
  • 歇服务器软件到关联数组
  • 获取平台的确切版本,例如'Windows 7 SP1'而不是'Windows'
  • 分类的要求,因为从一个移动设备,平板电脑或台式机

我缺少其他任何可能有用的是?

+0

你检查过吗? http://php.net/manual/en/reserved.variables.server.php – Bryan

+0

另外一个简单的'phpinfo(INFO_VARIABLES)'页面会告诉你。 – mario

+0

访问日志中提供了URI,IP和时间戳。任何你想添加另一层日志的理由? –

回答

4

所有可用的信息都在变量中,因此找到想要的东西的简单方法是看看$GLOBALS。创建一个新的PHP文件并执行print_r($GLOBALS);,您将看到脚本收集的每个信息。

这包括从http头(charset,encoding,language)到cookies,浏览器和操作系统的所有内容。

+1

我会用'echo'

'; print_r($GLOBALS); echo '
';'为了便于阅读,但是,最好从这里开始,以便+1 – Drew

0

$ _SERVER ['HTTP_USER_AGENT']。 这可以让你了解用户的操作系统以及他们的浏览器。 例如 的Mozilla/5.0(在Macintosh; U; PPC的Mac OS X; EN)

0

带你需要什么:http://php.net/manual/en/reserved.variables.php

PHP_SELF /blog/article.php 
GATEWAY_INTERFACE CGI/1.1 
SERVER_ADDR  Server IP: 217.112.82.20 
SERVER_NAME  www.URL.co.uk 
SERVER_SOFTWARE  Apache/2.2.15 (Win32) JRun/4.0 PHP/5.2.13 
SERVER_PROTOCOL  HTTP/1.0 
REQUEST_METHOD GET/POST/PUT/HEAD 
REQUEST_TIME Request start time: 1280149029 
QUERY_STRING id=10&user=foo 
DOCUMENT_ROOT /path/to/your/server/root/ 
HTTP_ACCEPT  text/html,application/xhtml+xml,application/xml;q=0.9 
HTTP_ACCEPT_CHARSET  ISO-8859-1,utf-8;q=0.7,*;q=0.7 
HTTP_ACCEPT_ENCODING gzip,deflate 
HTTP_ACCEPT_LANGUAGE en-gb,en;q=0.5 
HTTP_CONNECTION  keep-alive 
HTTP_HOST www.URL.co.uk 
HTTP_REFFERER http://previous.url.com 
HTTP_USER_AGENT  Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 (.NET CLR 3.5.30729) 
HTTPS 1 
REMOTE_ADDR  193.60.128.69 
REMOTE_HOST  Client server's host name 
REMOTE_PORT  5390 
SCRIPT_FILENAME  /path/to/this/script.php 
SERVER_ADMIN [email protected] 
SERVER_PORT  80 
SERVER_SIGNATURE Version signature: 5.123 
SCRIPT_NAME  /blog/article.php 
REQUEST_URI  /blog/article.php