HTTP 标头
Headers
Headers
简介
Masonite 允许您轻松地向应用程序添加头部信息。 Masonite 添加了一些合理的默认值,但您可以根据需要对其进行修改。
配置
您需要做的就是将中间件添加到config / middleware.py文件中的HTTP_MIDDLEWARE常量中:
from masonite.middleware import SecureHeadersMiddleware
HTTP_MIDDLEWARE = [
    ...
    SecureHeadersMiddleware,
]这将为您的服务器添加以下默认头部信息:
'Strict-Transport-Security': 'max-age=63072000; includeSubdomains'
'X-Frame-Options': 'SAMEORIGIN'
'X-XSS-Protection': '1; mode=block'
'X-Content-Type-Options': 'nosniff'
'Referrer-Policy': 'no-referrer, strict-origin-when-cross-origin'
'Cache-control': 'no-cache, no-store, must-revalidate'
'Pragma': 'no-cache'覆盖标题
如果要更改或添加任何头部信息,只需在config / middleware.py文件中指定它们,该中间件将自动选择它们。例如,您可以像这样更改X-Frame-Options标头:
config/middleware.py
SECURE_HEADERS = {
   'X-Frame-Options' : 'deny'
}然后将您的头部信息更改为:
'Strict-Transport-Security': 'max-age=63072000; includeSubdomains'
'X-Frame-Options': 'deny'
'X-XSS-Protection': '1; mode=block'
'X-Content-Type-Options': 'nosniff'
'Referrer-Policy': 'no-referrer, strict-origin-when-cross-origin'
'Cache-control': 'no-cache, no-store, must-revalidate'
'Pragma': 'no-cache'注意我们新头部信息中的更改。
CORS
您也可以选择将 CORS 用于您的应用程序以获得高级安全措施。使用 CORS 与上面的头部信息非常相似。
该中间件必须位于
HTTP_MIDDLEWARE堆栈的 TOP 处,以便请求不会在其他中间件中被拒绝。
若要开始,只需将CorsProvider类导入您的config / providers.py文件并将其添加到您的PROVIDERS列表中:
from masonite.providers import CorsProvider
...
PROVIDERS = [
    AppProvider,
    CorsProvider,
    ...,
]然后在您的config / middleware.py文件中,您可以将 CORS 标头作为字典。下面是一个合理的默认值列表:
from masonite.middleware import CorsMiddleware
...
HTTP_MIDDLEWARE = [
    ...,
]
ROUTE_MIDDLEWARE = [
    ...,
]
...
CORS = {
    'Access-Control-Allow-Origin': "*",
    "Access-Control-Allow-Methods": "DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT",
    "Access-Control-Allow-Headers": "Content-Type, Accept, X-Requested-With",
    "Access-Control-Max-Age": "3600",
    "Access-Control-Allow-Credentials": "true"
}现在,如果您转到浏览器,您将看到这些头部信息作为服务器的响应发送。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
 
           Masonite 中文文档
 Masonite 中文文档 
         
             
             关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号