【问题标题】:Use Client IP as cookie, to identify repeated visit and display a message after 1st visit使用客户端 IP 作为 cookie,识别重复访问并在第一次访问后显示消息
【发布时间】:2015-12-21 15:51:58
【问题描述】:

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

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

浏览到现在,还没有让我在 cookie 中记录 IP。另外,我找到的解决方案有些相似,但都是用 PHP 编写的,我不擅长。

我更喜欢使用 JavaScript 而不是 jQuery,但我们感谢所有帮助。

【问题讨论】:

  • 我不明白你为什么在这里提到 IP 地址。 cookie 很好,可以在其中存储您需要的任何信息。 IP 地址不是您感兴趣的。由于动态使用,它通常会随时间变化,并且如果 NAT,许多客户端可以共享相同的地址。因此,IP 地址通常对服务器或应用程序没有任何用处。 cookie 可以很好地满足您的需求:如果它存在,则客户端之前访问过。
  • 你也可以用local storage..比cookies更好处理。
  • 使用 IP 地址并不是最好的方法,因为 NAT 路由器后面可能有许多机器共享一个 IP。此外,许多移动网络在每次访问时都会更改 IP 地址。
  • Onload 检查是否设置了 cookie,如果是 > 发送消息,如果没有 > 设置 cookie。您不需要将其绑定到 ip,因为它已经绑定到该设备
  • 我也会在客户端 (javascript/JQuery) 进行此项检查,因为人们可以使用 JavaScript。因此,例如,如果您要进行用户会话,他们可以关闭 javascript。因此,我建议使用 PHP(服务器端)使其更安全。仅当您为您的网站创建用户帐户时。 (不知道你是不是这样)

标签: javascript php jquery cookies


【解决方案1】:

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

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

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

我建议使用 Option 3Option 4,这样用户机器上就不会存储任何内容。这样客户端就更安全了,因为人们可以在浏览器上存储 JavaScript。

选项 1:

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

HTML5 Web Storage

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

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

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

选项 2:

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

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

当网络服务器将网页发送到浏览器时,连接是 关闭,服务器会忘记用户的一切。

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

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

username=John

实际上我几天前已经做了一个这样的例子。

COOKIE EXAMPLE

选项 3:

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

PHP Sessions

会话是一种存储信息(以变量形式)以供跨多个页面使用的方式。

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

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

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

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

选项 4:

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

PHP Cookies

cookie 通常用于识别用户。

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

【讨论】:

    猜你喜欢
    • 2013-09-25
    • 1970-01-01
    • 2014-05-10
    • 2023-02-22
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 2018-04-02
    • 2017-02-13
    相关资源
    最近更新 更多