我使用javascript来检测访问者信息,例如在微秒上生成访客ID,获取屏幕大小,操作系统版本和浏览器版本。
我测试它时有效。但是,当页面上线时,有时无法获取这些信息。这个问题表现为关于这些信息的字段是空的意思''。但我将字段设置为非NULL并且默认为未定义。
我想是访问者是否禁用javascript但是这不可能发生因为我使用ajax发送请求,所以必须启用javascript,否则它将不会被记录在数据库中。
那么,这个问题会出现什么因素呢?
因为代码太长,所以我只能在这里发布获取id函数
function Initvisiter_id(){
var visiter_id;
//alert(sessionStorage.getItem('visiter_id'));
var date=new Date();
visiter_id = date.getTime() + Math.floor(Math.random()*1000001);
return visiter_id;
}
服务器端脚本以从url获取请求
//get parameters from url
$parameters = $_GET['parameters'];
$parameters = str_replace('\\','',$parameters);
$m = json_decode($parameters);
答案 0 :(得分:0)
javascript在客户端上执行。客户可以给你或不给你任何想要的信息。
此外,我可以按照以下方式访问您的网址:http://bla.com/url?parameters=
这不是ajax请求,但它是我在没有javascript的情况下关注的URL。例如,搜索引擎蜘蛛可能会以这种方式跟踪您的请求。
无法通过客户端信息生成您的ID。 永远不要相信客户。
因为我刚刚看到这个链接,所以在这种情况下可能值得分享:http://minimaxir.com/2012/10/client-side-validation-is-hard-mode/