CSRFConfig¶
CSRF означает Cross-Site Request Forgery (межсайтовая подделка запроса) и является одним из встроенных
middleware в Esmerald. Когда объект CSRFConfig
передается экземпляру приложения, автоматически запускается
CSRFMiddleware
.
Tip
Больше информации о CSRF тут.
CSRFConfig и приложение¶
Для использования CSRFConfig
в экземпляре приложения.
from esmerald import CSRFConfig, Esmerald, settings
csrf_config = CSRFConfig(
secret=settings.secret_key,
cookie_name="csrftoken",
)
app = Esmerald(csrf_config=csrf_config)
Еще пример
from esmerald import CSRFConfig, Esmerald, settings
csrf_config = CSRFConfig(
secret_key=settings.secret_key, session_cookie="csrftoken", header_name="x-csrftoken"
)
app = Esmerald(csrf_config=csrf_config)
Параметры¶
Все параметры и значения по умолчанию доступны в справочнике CSRFConfig.
CSRFConfig и настройки приложения¶
CSRFConfig
можно задать напрямую при создании приложения, а также через настройки.
from esmerald import CSRFConfig, EsmeraldAPISettings, ImproperlyConfigured
class CustomSettings(EsmeraldAPISettings):
@property
def csrf_config(self) -> CSRFConfig:
"""
Initial Default configuration for the CSRF.
This can be overwritten in another setting or simply override `secret`
or then override the `def csrf_config()` property to change the behavior
of the whole csrf_config.
"""
if not self.secret_key:
raise ImproperlyConfigured("`secret` setting not configured.")
return CSRFConfig(secret=self.secret_key)
Это поможет вам поддерживать настройки в чистоте, без перегруженного экземпляра Esmerald.