sfFilter クラスを拡張して POST リクエストの整合性を管理するカスタム Symfony 実行フィルターを作成しました。フィルターは正常に機能しますが、無効にする必要がある場合があり、実際には、filters.yml ファイル (以下を参照) のフィルター定義で指定されたパラメーター条件が機能していません。
# filters.yml
rendering: ~
security: ~
SSL:
class: SSLFilter
condition: %APP_ENABLE_SSLFILTER%
integrity:
class: IntegrityFilter
param:
integrity_header: x-integrity-cnonce
condition: %APP_ENABLE_INTEGRITYCHECK%
cache: ~
execution: ~
ご覧のとおり、IntegrityFilter の条件では、フィルターを実行するために app.yml ファイルで構成エントリ ENABLE_INTEGRITYCHECK を ON にする必要があります。
# app.yml
all:
sf_guard_plugin:
algorithm_callable: md5
success_signout_url: /
success_signin_url: /
enable_sslfilter: off
# Enables de IntegrityFilter check
enable_integritycheck: off
問題は、スクリプトを使用して他のタスクと一緒にいくつかの設定を有効/無効にし、その設定を無効にしていないため、それが機能していないことです。面白いことに、両方の YAML ファイルに示されている SSL フィルターの有効化/無効化は正常に機能します。何か案は...?