使用客户端IP作为cookie,识别重复访问并在第一次访问后显示消息

首先,提前感谢任何解决/帮助解决此问题的人。 抱歉,如果这是重复的(我无法在任何地方找到它,所以发布了一个新问题)。

所以主要的问题是我希望我的网页显示一条警告消息,随后从用户第二次访问该页面开始,所以我认为使用cookie进行IP记录是最独特的事情,如果有的话请建议更好的用法。

浏览到现在,没有让我有办法在cookie中记录IP。 此外,我发现的解决方案有点相似,但他们使用PHP,我不擅长。

我更喜欢使用JavaScript而不是jQuery,但是所有和任何帮助都是值得赞赏的。

首先我先给出不同的方法来识别重复访问并在第一次访问后显示消息。

我建议不要使用IP地址,因为共享一个IP地址的NAT路由器后面可能有多台机器,也会出现移动设备总是改变其IP地址的问题,因为它们也将连接到不同的网络。

有多种方法可以做到这一点:

我建议使用选项3选项4,以便用户计算机上不存储任何内容。 然后客户端会更安全,因为人们可以在他们的浏览器上存储JavaScript。

选项1:

您可以使用HTML5 Web存储来拥有客户端本地存储。

HTML5网络存储

在HTML5之前,应用程序数据必须存储在cookie中,包含在每个服务器请求中。 本地存储更安全,可以在本地存储大量数据,而不会影响网站性能。

与cookie不同,存储限制要大得多(至少5MB),信息永远不会传输到服务器。

本地存储是每个源(每个域和协议)。 来自一个来源的所有页面都可以存储和访问相同的数据。

选项2:

您可以使用客户端cookie,您可以使用JavaScript设置和删除它:

Cookie是计算机上存储在小文本文件中的数据。

当Web服务器将网页发送到浏览器时,连接将关闭,服务器将忘记用户的所有内容。

发明Cookie是为了解决“如何记住用户信息”的问题:

当用户访问网页时,他的名字可以存储在cookie中。 下次用户访问该页面时,cookie会“记住”他的名字。 Cookie以名称 – 值对保存,如:

username=John

实际上我几天前做过这样的例子。

COOKIE示例

选项3:

你可以有一个会话,这是一个检查你是否有用户登录你的网站/应用程序的好方法:

PHP会话

会话是一种存储要在多个页面中使用的信息(在变量中)的方法。

与cookie不同,信息不存储在用户计算机上。

使用应用程序时,打开它,进行一些更改,然后关闭它。 这很像一个Session。 电脑知道你是谁。 它知道您何时启动应用程序以及何时结束。 但在互联网上存在一个问题:Web服务器不知道您是谁或您做了什么,因为HTTP地址不维护状态。

会话变量通过存储要在多个页面中使用的用户信息(例如用户名,喜欢的颜色等)来解决此问题。 默认情况下,会话变量会持续到用户关闭浏览器为止。

所以; 会话变量包含有关单个用户的信息,并且可用于一个应用程序中的所有页面。

选项4:

您可以使用服务器端cookie(这样它不会存储在用户计算机上),这是识别用户(访问者)的好方法:

PHP Cookies

Cookie通常用于标识用户。

Cookie通常用于标识用户。 Cookie是服务器嵌入用户计算机的小文件。 每次同一台计算机通过浏览器请求页面时,它也会发送cookie。 使用PHP,您可以创建和检索cookie值。