我工作在基于Django的应用程序,我想知道是否有办法知道我的服务器是否使用http连接或https。如何知道如果服务器是安全的使用Django(使用https)
我知道,使用
import socket
if socket.gethostname().startswith('****'):
我可以得到主机名,是有可能做这样的事情,所以我可以知道,如果主机使用SSL证书?
PD:我是一名新手,所以我要求看看是否有可能,如果是,我该怎么做。 由于
我工作在基于Django的应用程序,我想知道是否有办法知道我的服务器是否使用http连接或https。如何知道如果服务器是安全的使用Django(使用https)
我知道,使用
import socket
if socket.gethostname().startswith('****'):
我可以得到主机名,是有可能做这样的事情,所以我可以知道,如果主机使用SSL证书?
PD:我是一名新手,所以我要求看看是否有可能,如果是,我该怎么做。 由于
这是完全有可能的:
def some_request_function(request):
if request.is_secure():
#You are safe!
else:
#You are NOT safe!
更多细节: https://docs.djangoproject.com/en/1.6/ref/request-response/#django.http.HttpRequest.is_secure
django的请求(HttpRequest
)具有is_secure
方法:
https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.is_secure
目前根本请求对象上的is_secure()
方法,返回真,如果连接是安全的。
根据您的特定服务器配置,您可能还需要在设置中设置SECURE_PROXY_SSL_HEADER
。
谢谢,它将如何在settings.py中? – Sascuash
我想没有必要更新settings.py中的任何内容。 –