Javascript 可靠地检测网站的新访问者

Javascript 可靠地检测网站的新访问者,javascript,cookies,ip,Javascript,Cookies,Ip,我想设置一条介绍性消息,向所有新用户显示。它应该以某种方式存储他们的信息(cookie?IP地址?),以便他们(理想情况下)永远不会再次看到消息。我知道用饼干是可能的,但最可靠的方法是什么 谢谢 要可靠地执行此操作,您需要使用服务器端脚本。Javascript可以被禁用,因此不再可靠 PHP很简单-您可以使用 将这些信息存储到数据库中,您可以跟踪用户。将其与cookie相结合(不过,用户也可以将其删除),您就有了一个非常好的跟踪解决方案 <?php // Set a cookie

我想设置一条介绍性消息,向所有新用户显示。它应该以某种方式存储他们的信息(cookie?IP地址?),以便他们(理想情况下)永远不会再次看到消息。我知道用饼干是可能的,但最可靠的方法是什么


谢谢

要可靠地执行此操作,您需要使用服务器端脚本。Javascript可以被禁用,因此不再可靠

PHP很简单-您可以使用


将这些信息存储到数据库中,您可以跟踪用户。将其与cookie相结合(不过,用户也可以将其删除),您就有了一个非常好的跟踪解决方案

<?php
   // Set a cookie
   $userID = 'something';
   setcookie('UID', $userID);

   // Read a cookie
   echo($_COOKIE['uid']);
?>


查看有关cookies的信息。

不要想太多。就用饼干吧。如果用户定期删除他们的cookie,他们很可能理解重复看到此类弹出窗口的后果。我想说cookie(如果您愿意,可以使用LocalStorage)比这更可靠,因为在许多情况下,用户的IP地址会定期更改(即使是某些代理发生的每个请求),或者一个IP地址后面可能有1000个用户。Cookie是针对每台计算机的(实际上是浏览器),虽然它们可以被禁用,但检查禁用的cookie并不显示弹出窗口(如果是)是很简单的。这是真的。我想这取决于个人偏好。我使用用户存储在cookie中的密钥将会话存储在数据库中。数据库将该密钥锁定为仅与启动会话的用户的IP一起工作,除非ss用户将其指定为持久登录。这似乎绕过了更改IP的问题(移动设备的真正问题)另一件事-本地存储并不总是可供用户浏览器使用。安全策略和旧浏览器可能会在这里造成问题。是的,但如果可用,它比cookie要好,因为它不会浪费每个请求的带宽。无论cookie与本地存储相比,您使用的内容取决于您如何实现弹出窗口;如果服务器是无论是否发送,localStorage都不是一个选项,但是如果弹出窗口是在客户端处理的,那么它就是一个选项。(即
if(localStorage){[use localStorage]}else{[COOKIE TIME!]}
好的方面,我认为最好的选择是结合可用的技术。没有一个单一的实现可以保证您跟踪同一个用户。但是混合使用几个选项是最好的。
<?php
   // Set a cookie
   $userID = 'something';
   setcookie('UID', $userID);

   // Read a cookie
   echo($_COOKIE['uid']);
?>