Joe*_*Joe 10 python security django heroku web
根据我的理解,ALLOWED_HOSTS检查何时DEBUG=False阻止攻击者将自己的域指向您的站点.
它看起来像Heroku的Custom Domains做同样的事情.
因此,不要在Heroku按钮中添加必需的ALLOWED_HOSTS变量(因为它感觉多余并且在您赶时间时容易出错),您是否可以设置并允许Heroku验证请求是否应该转移到哪里?app.jsonALLOWED_HOSTS = ['*']
Two*_*ist 15
在settings.py下面表示Heroku的文档的内容时,这个答案最初写于2015年虽然我比较肯定的ALLOWED_HOSTS这里介绍的设置是安全的,请咨询向上最新文档复制任何这些设置的休息之前!
原始答案如下.请参阅下面的详细信息.
这正是你应该做的,按照Heroku上的Django入门:
# Parse database configuration from $DATABASE_URL
import dj_database_url
DATABASES['default'] = dj_database_url.config()
# Honor the 'X-Forwarded-Proto' header for request.is_secure()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
# Allow all host headers
ALLOWED_HOSTS = ['*']
# Static asset configuration
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
Run Code Online (Sandbox Code Playgroud)
上面的链接不再有效,因为Heroku现在格式化他们的入门文档有点不同,提供预先构建的示例回购而不是文档中的代码示例.目前的Python入门回购有ALLOWED_HOSTS = [],而且DEBUG = True,根据该Django的2.1文档触发特殊情况下
ALLOWED_HOSTS = ['localhost', '127.0.0.1', '[::1]']
Run Code Online (Sandbox Code Playgroud)
由于在制作DEBUG = True过程中不推荐或完全没有想法,因此本答案中的原始建议仍然是Heroku应用程序的生产就绪解决方案.在决定做什么之前,请务必阅读并理解Charlie Weems的简要回答.
完全披露:我没有在最新版本的Django中构建一个生产Heroku应用程序.YMMV :)
| 归档时间: |
|
| 查看次数: |
7024 次 |
| 最近记录: |