如何从网站访问者那里获取所有客户信息?

问题描述

| 我想收集当有人访问网页时我们能提供的所有信息:例如:
clients screen resolution: <script type=\'text/javascript\'>document.write(screen.width+\'x\'+screen.height); </script>
referer: <?PHP print ($_SERVER[\'HTTP_REFERER\']); ?>
client ip: <?PHP print ($_SERVER[\'REMOTE_ADDR\']); ?>
user agent:  <?PHP print ($_SERVER[\'HTTP_USER_AGENT\']); ?>
那里还有什么?     

解决方法

这些是基本信息。超出此范围的任何内容都可以被视为类似于SpyWare的内容,并且倡导隐私的人会[不合理地]不赞成它。 从用户那里获取更多信息的最好方法是询问他们,将字段设置为可选,并确切告知用户您将使用这些信息的目的。您会向他们发送时事通讯吗? 如果您打算向他们发送电子邮件,则必须使用“确认加入”方法-征得他们的同意(通过让他们回复以特殊的秘密唯一号码作为密匙的电子邮件,确认他们正在授予您有权先向他们发送该新闻通讯或您打算发送给他们的任何通知)。 只要您预先计划如何使用信息,并为用户提供决定如何使用信息的选项(默认情况下,这些选项都应为“您没有权限”),您可能会吸引更多愿意信任您并为您提供优质信息的用户。对于那些不想透露自己的个人信息的人,不要浪费您的时间来获取它,因为他们中的许多人都采取了措施来防止这种情况并且无论如何都要隐瞒(这是他们的权利)。     ,使用此小型PHP获取客户端计算机的所有信息:
<?php
foreach($_SERVER as $key => $value){
echo \'$_SERVER[\"\'.$key.\'\"] = \'.$value.\"<br />\";
}
?>
    ,可在此处找到PHP可用的列表。 如果您需要更多详细信息,则可能需要考虑使用Browserhawk。     ,为了什么目的 请记住,客户端IP现在几乎毫无意义。来自相同代理或相同NAT点的所有用户将具有相同的客户端IP。多年以来,所有AOL流量都来自少数几个代理,尽管现在实际的AOL用户可能会比代理要多得多:)。 如果要唯一标识用户,则可以轻松地在apache(mod_usertrack)或使用的任何框架中创建cookie。如果此人阻止了cookie,请尊重这一点,无论如何不要尝试使用技巧来跟踪它们。还是借鉴Google的经验,使其变得如此有用,人们会选择实用程序而不是担心cookie。 请记住,JavaScript在客户端上运行。您的document.write()将在其网页上显示信息,而不会对您的服务器执行任何操作。您想使用Javascript将此信息放入cookie,或者如果您有任何表单,则将其与表单提交一起存储。     ,
phpinfo(32);
打印带有全部可提取信息的表。您可以简单地将变量直接复制并粘贴到您的php代码中。 例如:
_SERVER[\"GEOIP_COUNTRY_CODE\"]   AT
将在PHP代码:
echo $_SERVER[\"GEOIP_COUNTRY_CODE\"];
    ,我喜欢使用这样的东西:
$log = array(
  \'ip\' => $_SERVER[\'REMOTE_ADDR\'],\'re\' => $_SERVER[\'HTTP_REFERER\'],\'ag\' => $_SERVER[\'HTTP_USER_AGENT\'],\'ts\' => date(\"Y-m-d h:i:s\",time())
);

echo json_encode($log);
您可以将该字符串保存在文件中,JSON非常小,只有一行。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...