Nginx+uWSGI+Django+SSL(https)安全证书中获取访问的IP地址信息

陈占占
• 阅读 1779
# SECURE_PROXY_SSL_HEADER SSL安全证书中的
x_forwarded_for = request.META.get("SECURE_PROXY_SSL_HEADER")
    if x_forwarded_for:
        user_ip = x_forwarded_for.split(',')[-1].strip()
    else:
        user_ip = request.META.get('REMOTE_ADDR')

Nginx+uWSGI+Django+SSL(https)安全证书中获取访问的IP地址信息 因为网站服务器会使用ngix等代理https(部署了SSL安全证书),如果没有部署SSL安全证书可以使用下面的代码获取http访问的IP地址

if request.META.has_key('HTTP_X_FORWARDED_FOR'):
    user_ip =  request.META['HTTP_X_FORWARDED_FOR']
else:
    user_ip = request.META['REMOTE_ADDR']

效果图: Nginx+uWSGI+Django+SSL(https)安全证书中获取访问的IP地址信息

# 单纯测试可以不要参数url_ip,url_ip是访问网站地址目录
def blog_username_ip(request, url_ip):
    x_forwarded_for = request.META.get("SECURE_PROXY_SSL_HEADER")
    if x_forwarded_for:
        user_ip = x_forwarded_for.split(',')[-1].strip()
    else:
        user_ip = request.META.get('REMOTE_ADDR')
    # 获取用户名的名字
    username = request.META.get('USERNAME')
    # 获取用户访问的时间
    create_time = timezone.now()
    # 获取对应的数据,储存到MySQL数据库中
    # models.BlogUsernameIp.objects.create(username=username, ip=user_ip, ip_time=create_time, blog_url=url_ip)
    print("IP地址:" + user_ip, "用户名:" + username, "时间:" + str(create_time), "目录:" + url_ip)
    return None

个人博客:https://www.chenzhanxu.top/

点赞
收藏
评论区
推荐文章
高防加速CDN 高防加速CDN
1年前
为什么安装了SSL证书,网站还是显示不安全?
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL证书就是遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。由于http明文方式
Wesley13 Wesley13
3年前
SSL工作原理
SSL(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.wosign.com)是一个安全协议,它提供使用TCP/IP的通信应用程序间的隐私与完整性。因特网的超文本传输协议(HTTP)使用SSL来实现安全的通信。在客户端与服务器间传输的数据是
Wesley13 Wesley13
3年前
Java安全通信:HTTPS与SSL
1\.HTTPS概念       1)简介          HTTPS(全称:HypertextTransferProtocoloverSecureSocketLayer),是以安全为目标的HTTP(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fbaike.b
Wesley13 Wesley13
3年前
HTTPS安全证书访问连接知识讲解
HTTPS安全证书访问连接知识讲解01:网络安全涉及的问题:①.网络安全问题数据机密性问题传输的数据可能会被第三方随时都能看到②.网络安全问题数据完整性问题传输的数据不能随意让任何人进行修改③.网络安全问题身份验证问题第一次通讯时,需要确认通讯双方的身份正确02:网络安
Wesley13 Wesley13
3年前
Java使用SSLSocket通信
JSSE(JavaSecuritySocketExtension)是Sun公司为了解决互联网信息安全传输提出的一个解决方案,它实现了SSL和TSL协议,包含了数据加密、服务器验证、消息完整性和客户端验证等技术。通过使用JSSE简洁的API,可以在客户端和服务器端之间通过SSL/TSL协议安全地传输数据。首先,需要将OpenSSL生成根证书CA及签
曼成 曼成
8个月前
实名认证:身份证二要素API的应用与重要性
在数字化时代,网络安全和用户身份的确认变得尤为重要。实名认证作为一种有效的网络安全措施,不仅有助于保护用户的个人信息安全,还能够遏制网络犯罪和欺诈行为。身份证二要素API作为实名认证的一种方式,通过整合身份证信息与额外的验证要素,为用户提供了一种便捷且安全的认证手段。
3A网络 3A网络
2年前
详解 SSL(一):网址栏的小绿锁有什么意义?
详解SSL(一):网址栏的小绿锁有什么意义?随着互联网的飞速发展,用户信息泄漏、数据泄露等安全问题的事件频繁发生。这一切不一定是网站的问题,有时候可能是自己不经意间泄露了自己的信息。例如钓鱼网站就是日常生活中比较常见的,钓鱼网站和真实网站差别细微,它们一般会伪装成银行或其它网站诱导用户点击,窃取用户输入的银行账号、身份证、密码等私密信息。用户很难第一时间分
3A网络 3A网络
2年前
详解 SSL(二):SSL 证书对网站的好处
详解SSL(二):SSL证书对网站的好处在如今谷歌、百度等互联网巨头强制性要求网站HTTPS化的情况下,网站部署SSL证书已然成为互联网的发展趋势。而在上一篇《详解SSL(一):网址栏的小绿锁有什么意义?》中,我们也知道了SSL证书可以防止网络安全威胁。那么除此外为网站部署SSL证书还有哪些好处呢?最明显的一点,在我们部署SSL
3A网络 3A网络
2年前
详解 SSL(三):SSL 证书该如何选择?
详解SSL(三):SSL证书该如何选择?在上一篇《详解SSL(二):SSL证书对网站的好处》中,我们知道了在网站部署SSL证书后,不管是对网站本身还是对网站的用户都能够带来许多好处。那么随着HTTPS的普及,市面上也出现了各种不同的SSL证书。并且由于SSL证书的多样性,很多人对于如何选择SSL证书有着很大的困惑。因此,本篇文章
陈占占
陈占占
Lv1
永恒的新手~
文章
22
粉丝
3
获赞
12