■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。
このフォーラムは閲覧専用のアーカイブです。

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
■スマートURLの利用:ON
■設置フォルダ:ドキュメントルート
■PHPスキル(自己評価):C
■OSの種類:Ubuntu 14.04.2 LTS
■PHP/DBのバージョン:5.5.9/MySQL 5.5.54

n1215 > Re: IPリミッターの不具合 @ 2014/10/21 11:21
dotnetxp 様

IPリミッターはControllerのstartupイベントにフックしています。
対して、サーバーキャッシュによるページレンダリングを行うCacheDispatcherは、
Controllerが呼ばれる以前のRouterによるルート決定の更に前、
dispatcher.beforeDispatchのタイミングで呼ばれます。

その前にIPをチェックして制限する必要があるので、CacheDispatcher同様にDispatcher Filterとしての実装に変更する必要がありそうですね。

Twitter: @n_1215