Django下获取访客IP地址自定义函数

2022-05-03 00:00:00 函数 自定义 访客

自定义了一个Django下用于获取远程访客IP地址的函数,函数首先尝试从X-Forwarded-For获取IP地址,防止用户使用了代理服务器,然后尝试从REMOTE_ADDR获取IP地址。

"""
皮蛋编程(https://www.pidancode.com)
创建日期:2022/3/31
功能描述:Django下获取访客IP地址自定义函数
"""
def get_remote_ip(request):
    """返回请求主机的IP地址"""
    # 首先尝试从 X-Forwarded-For 获取 IP 地址。
    x_forwarded_for = request.META.get("HTTP_X_FORWARDED_FOR")
    if x_forwarded_for:
        ip = x_forwarded_for.split(",")[0]
        if is_valid_ip(ip):
            return ip

    ip = request.META.get("REMOTE_ADDR")
    return ip if is_valid_ip(ip) else None 

相关文章