How to know using Django if server is secure (uses

2019-07-05 16:07发布

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

3条回答
我命由我不由天
3楼-- · 2019-07-05 16:26

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.

查看更多
Fickle 薄情
4楼-- · 2019-07-05 16:30

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

查看更多
登录 后发表回答