問題タブ [symfony-components]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Symfony2 - AccessDeniedHttpException をスローしても機能しない 編集: セキュリティ
どこかがスローされたときのリダイレクトの望ましくない影響を取り除きたいAccesDeniedException
です。ユーザーが認証されていない場合、「ログイン」ページにリダイレクトすることを意味します。
kernel.exception
リスナーを作成しました
このリスナーは正しい順序で正しく機能しますが、常にファイアウォールによってログイン ページにリダイレクトされます。 symfony のドキュメントには次のように書かれています。
例外リスナー
いずれかのリスナーが AuthenticationException をスローすると、ファイアウォール マップに保護された領域を追加するときに提供された例外リスナーが飛び込みます。
例外リスナーは、作成時に受け取った引数に基づいて、次に何が起こるかを決定します。認証手順を開始したり、("remember-me" Cookie に基づいてのみ認証された場合に) ユーザーに資格情報を再度提供するように求めたり、例外を AccessDeniedHttpExceptionに変換したりして、最終的に "HTTP /1.1 403: アクセスが拒否されました」という応答。
わかりました - スローAccessDeniedHttpException
すると、リダイレクトではなくインスタント 403 が返されます。正しいですか?
第二に、symfony とExceptionListenerには同じトリックがあることを掘り下げましたか? おもう...
さらに、symfony デバッガーは認証後に 2 つの例外を表示します。(そうあるべきです):
最初AccessDeniedException
と 2 番目AccessDeniedHttpException
。
どうすれば問題を解決できますか? インスタント 403 エラーをスローするにはどうすればよいですか?
編集
どこに問題があるのか わかりました。ファイアウォールExceptionListener
は、以前のすべての例外をループでチェックします。
リスナーを次のように変更できます。
新しい質問は - セキュリティ上の問題を引き起こす可能性がありますか? これはいい方法だと思います。
php - Symfony の optionsResolver を使用してデフォルト オプションを変更できないようにする
symfony のoptionsResolverコンポーネントを使用しています
次のコードがあります。
私がやりたいのは、誰かがtest
関数を呼び出して、キーでオプションを渡すと例外をスローするが、オプションまたはquery
を渡すことができるようにすることです。connect_timeout
form_params
これは可能ですか?
php - PHPファイルの変数/配列を上書き/更新
私の最近のプロジェクトでは、Linux の標準的な規則に基づいて、json に記載されているさまざまなアクションを実行/実行する必要があるコンソール コマンドに取り組んでいます。
param スキーマは、Linux の規則とほぼ同じです。
現在のセットアップ (Mkdir、タッチ)
Json スキーマ (配列)
そして、すべてのアクションを繰り返し処理し、それぞれ mkdir および呼び出しハンドル関数のwhat
ように、タイプ (mkdir、touch)ごとにアクション クラスを解決します。MkdirOperation
要件:
したがって、基本的には、特定のルールに従って前述の変数/配列を更新/オーバーライドしたいので、その目的のために、json スキーマでルールを準備しようとしました。
使用しているコンポーネント
- symfony/コンソール
- symfony/ファインダー
- symfony/ファイルシステム
探している:
- 変数の更新/オーバーライドまたは配列からの要素のプッシュ/プルのすべてのアクションを反復処理してアクションを実行するような方法でルール セット スキーマを編成することを提案します。
- 特定の変数の値を更新し、php を使用して配列/サブ配列から要素をプッシュ/プルするメカニズム。
それでも不明な点がある場合は、お知らせください。前もって感謝します。
php - OptionsResolver コンポーネントによる高度な型検証
1 つではなく、 2 つのインターフェイス (Foo
とBar
) を実装する型を許可する必要があります。
違う!インスタンスも許可Foz
します。Baz
インスタンスでBar
はなく、タイプのサブクラスを許可する必要があります。Bar
違う!Bar
インスタンスも許可します。
クラス/インターフェースを再設計できますが、設計上の問題ではありません。それで、このコンポーネントでそれを達成することは可能ですか?
php - キャッシュ コンポーネントのデフォルトの有効期間
キャッシュ アダプタからデフォルトの有効期間を設定する必要がありますが、奇妙なことが起こっています。:/
参照http://symfony.com/doc/current/components/cache/cache_pools.html#filesystem-cache-adapter
初回は、キャッシュされたファイルの内容が次のように表示されます。
もちろん、このアイテムは 5 秒後に期限切れになりません:/ (手動でキャッシュ ディレクトリをクリアしました)。
一方、$latestNews->expiresAfter(5);
all を使用すると、次のように正常に動作します。
参照http://symfony.com/doc/current/components/cache/cache_items.html#cache-item-expiration
アイテムが正しく期限切れになってから 5 秒。
私はそれをテストしSymfony\Component\Cache\Adapter\ApcuAdapter
、同じ問題も発生します。
キャッシュ アダプターの既定の有効期間 (コンストラクター パラメーター) はどうなりますか? ここに何かが欠けています:/ ?
php - コマンド内から複数の Symfony コンソール コマンドを実行する
Symfony コンソール アプリケーションで 2 つのコマンドを定義していclean-redis-keys
ますclean-temp-files
。clean
この 2 つのコマンドを実行するコマンドを定義したいと考えています。
どうすればいいですか?