1

将用户的 IP 地址存储在模型实例中会很有用的一些常见原因或示例情况是什么?我怎么也想不出来。

阅读 Django 现在已弃用的Comments framework,我看到他们将评论者的 IP 地址存储在GenericIPAddressField模型Comment的 a 中。为什么?存储它有什么意义?

4

3 回答 3

2

想到几个用途:

  1. 禁止不合规用户的IP地址。
  2. 将代币与已为某些服务付费的用户的 IP 地址相关联
  3. 部分网络应用的管理器界面
  4. (更通用)任何与网络相关的应用程序,其接口是用 Django 编写的
  5. 也许是一些网络游戏。

归根结底,IPAddressField只是另一个CharField有一些限制,有人花时间编写代码是因为他/她需要它,为什么不将它包含在 Django 的 Repertoire 中?:)

编辑:我知道所有关于通过代理等规避此 IP 限制的知识,但是,对于不太精明的用户来说,这可能是有效的,而对于更精明的用户来说,这可能会带来一些痛苦......限制:)

于 2013-06-09T01:17:03.670 回答
1

我在我的一个模型中使用了这个字段,所以让我在这里分享一下用例。有一个 Web API 过去可以在 Web 上免费使用。但是现在,我们要在其中添加身份验证层;在不改变我们最终用户集成它的方式的情况下。添加新的身份验证参数将需要在我们的客户端进行更改,因此这不是一个选项。

最后,基于 IP 的身份验证似乎是最可行的解决方案。为此,我需要存储客户端的 IP 地址并在请求来自已注册的 IP 列表时进行身份验证。

于 2013-06-20T10:54:59.977 回答
1

对于评论应用程序或类似的应用程序,了解评论员的 IP 地址通常很有用,因为垃圾邮件或滥用原因。您可能还想知道是否有人通过使用不同的用户名但使用相同的 IP 地址发帖来冒充他人。或者,如果他们发布了辱骂性或非法内容,您可以禁止他们的 IP 地址。它有时用于检测垃圾邮件。如果您在世界某个地方运行一个迎合一小群人的论坛,那么收到来自世界另一端的评论可能会令人惊讶。它们也可以被收集用于统计和记录目的。

于 2013-06-09T03:53:43.427 回答