Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何计算网页上的唯一访问者_Javascript_Node.js_Reactjs_Express - Fatal编程技术网

Javascript 如何计算网页上的唯一访问者

Javascript 如何计算网页上的唯一访问者,javascript,node.js,reactjs,express,Javascript,Node.js,Reactjs,Express,我想知道如何使用Javascript(ReactJS+NodeJS(Express))计算网页上的唯一访问者。我的意思是,当用户加载页面时,它应该发送用户的数据进行验证,如果它是唯一的,则将其添加到数据库中。有以下选项(我所了解的) 使用客户端的IP地址作为验证程序 设置Cookie 第一个是不好的,因为许多设备可以共享同一个网络,许多访问者将丢失 第二个选项不是好选项,因为cookie可以被操纵和删除(如果它是httpOnly,那么只能被删除) 那么,什么是计算访问者的最佳方法呢?我的目标是这

我想知道如何使用Javascript(ReactJS+NodeJS(Express))计算网页上的唯一访问者。我的意思是,当用户加载页面时,它应该发送用户的数据进行验证,如果它是唯一的,则将其添加到数据库中。有以下选项(我所了解的)

  • 使用客户端的IP地址作为验证程序

  • 设置Cookie

  • 第一个是不好的,因为许多设备可以共享同一个网络,许多访问者将丢失

    第二个选项不是好选项,因为cookie可以被操纵和删除(如果它是httpOnly,那么只能被删除)


    那么,什么是计算访问者的最佳方法呢?我的目标是这样做。你可以使用Google Analytics和他们的核心报告API。在你的网站中加入GA后,你就可以开始了。

    你可以在数据库模式中添加一个字段,当用户访问pag时,你可以通过添加1或类似的内容来更新它e、 如果您想更进一步,您可以将用户IP存储在数据库中,或使用cookies来避免多次计算同一个人的页面访问次数。

    您是否考虑过使用分析平台,如google analytics或matomo?有许多分析平台使用复杂的方法来识别返回的访问者。以及有什么方法可以绕过它们:阻止cookies、阻止js、阻止画布……只需计算页面加载的次数扫描我在网页上显示结果吗?@niklas如果我“只需计算页面加载的次数”任何人都可以增加视图数量,在这种情况下,这根本不值得。在这里,您不将多个选项卡加载计算为一次唯一访问?如果您从头开始这样做,则在每次访问时生成一个唯一密钥,并将其存储在浏览器本地存储中,该值与服务器匹配,并将访问作为唯一项插入。