Reputation: 3831
I work on a Django based app, and I want to know if there's a way to know if my server uses http connections or https.
I know that using
import socket
if socket.gethostname().startswith('****'):
I can get the hostname, is it possible to do something like that so I can get to know if the hosting uses a ssl certificate?
PD: I'm a rookie here, so I'm asking to see if it's possible and, if it is, how should I do it. Thanks
Upvotes: 5
Views: 6809
Reputation: 631
it's completely possible:
def some_request_function(request):
if request.is_secure():
#You are safe!
else:
#You are NOT safe!
More details: https://docs.djangoproject.com/en/2.0/ref/request-response/#django.http.HttpRequest.is_secure
Upvotes: 15
Reputation: 25022
There simply is an is_secure()
method on the request object, returning True if the connection is secure.
Depending on your specific server configuration you may also need to set SECURE_PROXY_SSL_HEADER
in your settings.
Upvotes: 4
Reputation: 55952
django requests (HttpRequest
) have is_secure
method:
https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.is_secure
Upvotes: 3