【问题标题】:What are some possible uses for Django's IPAddressField?Django 的 IPAddressField 有哪些可能的用途?
【发布时间】:2013-06-09 00:55:39
【问题描述】:

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

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

【问题讨论】:

    标签: django django-models ip-address django-comments


    【解决方案1】:

    想到几个用途:

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

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

    编辑:我知道如何使用代理等来规避这种 IP 限制,但是,对于不太精明的用户来说,这可能是有效的,而对于更精明的用户来说,这可能会有些痛苦。 . 限制:)

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • 您根据注册的 IP 列表检查用户的方法在 ISP 动态分配公共 IP 地址给其许多用户的情况下可能不起作用。
        猜你喜欢
        • 1970-01-01
        • 2011-04-19
        • 2011-04-16
        • 2014-07-29
        • 1970-01-01
        • 1970-01-01
        • 2011-01-12
        相关资源
        最近更新 更多