将用户的 IP 地址存储在模型实例中会很有用的一些常见原因或示例情况是什么?我怎么也想不出来。
阅读 Django 现在已弃用的Comments framework,我看到他们将评论者的 IP 地址存储在GenericIPAddressField
模型Comment
中的 a 中。为什么?存储它有什么意义?
将用户的 IP 地址存储在模型实例中会很有用的一些常见原因或示例情况是什么?我怎么也想不出来。
阅读 Django 现在已弃用的Comments framework,我看到他们将评论者的 IP 地址存储在GenericIPAddressField
模型Comment
中的 a 中。为什么?存储它有什么意义?
想到几个用途:
归根结底,IPAddressField
只是另一个CharField
有一些限制,有人花时间编写代码是因为他/她需要它,为什么不将它包含在 Django 的 Repertoire 中?:)
编辑:我知道所有关于通过代理等规避此 IP 限制的知识,但是,对于不太精明的用户来说,这可能是有效的,而对于更精明的用户来说,这可能会带来一些痛苦......限制:)
我在我的一个模型中使用了这个字段,所以让我在这里分享一下用例。有一个 Web API 过去可以在 Web 上免费使用。但是现在,我们要在其中添加身份验证层;在不改变我们最终用户集成它的方式的情况下。添加新的身份验证参数将需要在我们的客户端进行更改,因此这不是一个选项。
最后,基于 IP 的身份验证似乎是最可行的解决方案。为此,我需要存储客户端的 IP 地址并在请求来自已注册的 IP 列表时进行身份验证。
对于评论应用程序或类似的应用程序,了解评论员的 IP 地址通常很有用,因为垃圾邮件或滥用原因。您可能还想知道是否有人通过使用不同的用户名但使用相同的 IP 地址发帖来冒充他人。或者,如果他们发布了辱骂性或非法内容,您可以禁止他们的 IP 地址。它有时用于检测垃圾邮件。如果您在世界某个地方运行一个迎合一小群人的论坛,那么收到来自世界另一端的评论可能会令人惊讶。它们也可以被收集用于统计和记录目的。