IPリミッターの不具合
dotnetxp > IPリミッターの不具合 @ 2014/10/21 10:14 |
---|
IPリミッタープラグインを使用していますが、クリティカルな問題が発生しています。
許可IPから一度ページを見ると、サーバーにキャッシュされるせいか、以降は許可されていないIPからページが閲覧できてしまいます。 サーバーキャッシュを削除すると正常に機能しますが、やはり許可IPから一旦閲覧すると、許可していないIPから閲覧できてしまいます。 以上について、ご確認頂き、修正頂けると幸いです。 −追記− 現在、app/Config/install.phpにてサーバーキャッシュを無効にすることで対処しています。 Configure::write('Cache.check', true); ↓ Configure::write('Cache.check', false); ■BaserCMSのバージョン:4.0.10.1 |
n1215 > Re: IPリミッターの不具合 @ 2014/10/21 11:21 |
---|
dotnetxp 様
IPリミッターはControllerのstartupイベントにフックしています。 対して、サーバーキャッシュによるページレンダリングを行うCacheDispatcherは、 Controllerが呼ばれる以前のRouterによるルート決定の更に前、 dispatcher.beforeDispatchのタイミングで呼ばれます。 その前にIPをチェックして制限する必要があるので、CacheDispatcher同様にDispatcher Filterとしての実装に変更する必要がありそうですね。 Twitter: @n_1215 |