首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让django-debug-toolbar只显示在我托管在python anywhere上的ip地址上?

如何让django-debug-toolbar只显示在我托管在python anywhere上的ip地址上?
EN

Stack Overflow用户
提问于 2017-02-08 12:52:11
回答 1查看 1K关注 0票数 2

我正在尝试在django应用程序中的任何地方使用python上的django-debug- to。它要求我在我已经完成的设置中设置我的ip地址,但工具栏没有显示。经过进一步的研究,我发现django-debug-工具栏正在寻找REMOTE_ADDR属性。问题是REMOTE_ADDR属性不是我的ip地址。看起来它们使用的是负载均衡之类的,所以它实际上不会给出请求所来自的IP。

如果我使用REMOTE_ADDR中的IP地址,工具栏将会显示,但它会显示给所有访问该站点的用户,而不仅仅是我。

如何获取发出请求的客户端的IP地址?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-08 13:28:03

Python anywhere在标头中设置名为

HTTP_X_REAL_IP

这是pythonanywhere接收请求的IP地址,它似乎最适合获取实际的客户端IP。

您也可以使用HTTP_X_FORWARDED_FOR,但从理论上讲,如果传入请求在到达pythonAnywhere之前通过某种代理,那么它可能包含一组不同的IP地址。

要做到这一点,有两种选择。

首先,您可以将此代码添加到settings.py中

代码语言:javascript
复制
def custom_show_toolbar(request.META.get('HTTP_X_REAL_IP', None) in INTERNAL_IPS):
    return True 
# Show toolbar, if the IP returned from HTTP_X_REAL_IP IS listed as INTERNAL_IPS in settings
    if request.is_ajax():
        return False
# Show toolbar, if the request is not ajax
    return bool(settings.DEBUG)
# show toolbar if debug is true

DEBUG_TOOLBAR_CONFIG = {
    'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
}

或者,您可以修改django-debug- middleware.py文件夹中的文件django-debug-toolbar,并更改以下代码:

代码语言:javascript
复制
def show_toolbar(request):
    """
    Default function to determine whether to show the toolbar on a given page.
    """
    if request.META.get('REMOTE_ADDR', None) not in settings.INTERNAL_IPS:
        return False

    if request.is_ajax():
        return False

    return bool(settings.DEBUG)

至:

代码语言:javascript
复制
def show_toolbar(request):
    """
    Default function to determine whether to show the toolbar on a given page.
    """
    if request.META.get('HTTP_X_REAL_IP', None) not in settings.INTERNAL_IPS:
        return False

    if request.is_ajax():
        return False

    return bool(settings.DEBUG)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42104980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档