PHP で Java サーブレット フィルターに相当するものは何ですか?
-
19-09-2019 - |
質問
Java 側には、認証を処理するサーブレット フィルターがあります。ページにカスタマイズされたコンテンツが必要でない限り、ページに認証を追加するために他のすべてのサーブレットや JSP を変更する必要はありません。
PHP で同じことを実現するにはどうすればよいでしょうか?PHP ではフレームワークを使用しません。
解決
直接的に同等のものはありません。最善の策は、共通ファイルを先頭に組み込み、必要に応じてその先頭でそのようなロジックを実行することです。それで:
require 'common.php';
と:
if (!isset($_SESSION['userid'])) {
// authentication stuff
}
最後に何かをしたい場合は、いくつかのオプションがあります。
- 出力バッファハンドラーを使用します。
ob_start()
;または - シャットダウン コールバックを登録する
register_shutdown_function()
.
それで:
ob_start('my_callback');
function my_callback($str) {
// do something
return $str;
}
または
register_shutdown_function(my_callback);
function my_callback() {
// do something
}
他のヒント
私はあなたの質問のcorrectly.Thisはアーキテクチャに変えることができ理解していればログインページに送信しない場合は、
..例えば...、ユーザーがセッションを介して認証されているかどうかを確認するインクルードファイルを作成します。私は2つの以上のスクリプトで任意のサイトが含まれたファイルのいくつかの並べ替えを利用するであろうし、uは、そのファイルにこのコードを置くことができると思います。あなたも、uはちょうどほとんどのuに合ったものを選択する必要があります..それについて移動する方法をいくつかの有効なユーザーセッションを持っており、要求URIを持つものと一致する必要があるページの名前を含む配列を持つことができます。
所属していません StackOverflow