0

我使用 javascript 来检测访问者信息,例如基于微秒生成访问者 ID、获取屏幕大小、操作系统版本和浏览器版本。

当我测试它时它工作。但是,当页面上线时,有时无法获取这些信息。这个问题表现为关于这些信息的字段是空的,意思是“”。但我已将字段设置为非 NULL 并且默认值未定义。

我在想访问者是否禁用了javascript,但这不可能发生,因为我使用ajax发送请求,所以javascript必须启用,否则不会记录在数据库中。

那么,什么因素会出现这个问题呢?

因为代码太长,所以我可以在这里发布get 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);
4

1 回答 1

0

javascript 在客户端上执行。客户可以给你或不给你它想要的任何信息。

另外,我可以像这样访问您的网址:http ://bla.com/url?parameters=

这不是 ajax 请求,但它是我在没有 javascript 的情况下遵循的 URL。例如,搜索引擎蜘蛛可能会使用这种方式来跟踪您的请求。

依靠客户端信息来生成您的 ID 是不可能的。永远不要相信客户。

因为我刚刚看到这个链接,所以在这种情况下可能值得分享:http: //minimaxir.com/2012/10/client-side-validation-is-hard-mode/

于 2012-10-15T11:35:35.633 回答