ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ

CSRFConfig

CSRF ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Cross-Site Request Forgery (мСТсайтовая ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠ° запроса) ΠΈ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· встроСнных middleware Π² Ravyn. Когда ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ CSRFConfig пСрСдаСтся экзСмпляру прилоТСния, автоматичСски запускаСтся CSRFMiddleware.

Tip

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ CSRF Ρ‚ΡƒΡ‚.

CSRFConfig ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Для использования CSRFConfig Π² экзСмплярС прилоТСния.

from ravyn import CSRFConfig, Ravyn, settings

csrf_config = CSRFConfig(
    secret=settings.secret_key,
    cookie_name="csrftoken",
)

app = Ravyn(csrf_config=csrf_config)

Π•Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

from ravyn import CSRFConfig, Ravyn, settings

csrf_config = CSRFConfig(
    secret_key=settings.secret_key, session_cookie="csrftoken", header_name="x-csrftoken"
)

app = Ravyn(csrf_config=csrf_config)

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ доступны Π² справочникС CSRFConfig.

CSRFConfig ΠΈ настройки прилоТСния

CSRFConfig ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΈ создании прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· настройки.

from ravyn import CSRFConfig, RavynSettings, ImproperlyConfigured


class CustomSettings(RavynSettings):
    @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)

Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ настройки Π² чистотС, Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ экзСмпляра Ravyn.