3

管理者セッション中の安全な接続に対してのみ phpsessid Cookie の使用を制限したいのですが、通常のユーザーの安全でない接続では phpsessid を許可します。session_set_cookie_params は、session_start() を呼び出す前にスクリプトを実行するたびに呼び出す必要がありますが、最初に session_start() を呼び出して、ユーザーが管理者かどうかを示すセッション データを確認する必要があります。

https からのみアクセスできるページ (管理パネル、ログインなど) と、サイトの残りの部分 (記事など) は、通常のユーザーは通常の接続で、管理者は安全な接続でのみアクセスできるようにしたいと考えています。管理者の sid が公開されないようにします。sid を公開し、IP、ユーザー エージェントなどのチェックだけに依存するだけでは十分ではありません。重要なトランザクションはパスワードで保護されますが、すべてのトランザクションでそれを行うことは不可能であり、面倒です。

4

2 に答える 2

2

PHP では、session.use_only_cookiesおよびsession.cookie_secure構成オプションを設定します。これは、実行時または php.ini で行うことができます。cookie_secure はひどい名前ですが、この Cookie は常に https 経由で送信する必要があることをクライアントに伝えます。

于 2012-06-22T23:31:28.860 に答える
1

簡単な方法は、session_name()を使用してセッションの名前を設定することです。次に、管理ページとHTTPSであるページでのみ「管理セッション」を開始します。

于 2012-06-21T21:32:36.237 に答える