1

SSL接続を要求するために特定のアクション(ログイン、パスワードのリセットなど)を必要とするCakephp 2+サイトがありますが、サイト全体を安全にする必要はありません。これを実装しているときに、SSLページと非SSLページの間を移動するときにセッションが保存されていないことがわかりました。スタックhttps://stackoverflow.com/a/12068099/1353839でこの質問を見つけたので、問題は解決しましたが、どのくらいの費用がかかるのでしょうか。

上記の質問の答えは、lib / Cake / Model /Datasource/の行を次のようにコメントアウトする必要がありました。

if (!isset($sessionConfig['ini']['session.cookie_secure']) && env('HTTPS')){
   // $sessionConfig['ini']['session.cookie_secure'] = 1; // <-- Commented Out
}

これを行うことによるセキュリティ上の影響はありますか?また、一般的に眉をひそめているので、ケーキのコアファイルに影響を与えずにこれを行う方法はありますか?

前もって感謝します。

4

3 に答える 3

5

まず、コアファイルを変更することはお勧めできません。代わりに、構成で「session.cookie_secure」を設定する必要があります。

セッションの目的は、重要な情報をサーバーに保存し、その情報をセッションキーを介してクライアントに関連付けることです。セッションキーは通常、Cookieに保存され、リクエストごとにサーバーに送信されます。安全なCookieを使用すると、セッションキーが非SSLページに送信されるのを防ぐことができます。そのため、セッションデータを表示できません。

安全なCookieをオフにすると、セッションキーを非SSLページに送信できますが、プレーンテキストとして送信されるため、セッションハイジャックの影響を受けやすくなります。あなたが何をしているかに応じて、これは大したことかもしれないし、そうでないかもしれません。とにかく、ログインやパスワードのリセットなどにSSLを使用することで、ユーザーが実際に入力する情報(ユーザー名、パスワードなど)を保護できます。

于 2012-10-19T22:11:05.900 に答える
5

MITMが認証を傍受できないように SSL 経由でユーザーを認証しようとしていますが、その後、セッション Cookie をプレーンテキスト HTTP 経由で送信して、MITM がそれを取得して自分で使用できるようにしたいと考えていますか?

それを考えると、SSLを使用する意味は何ですか?

(はい、私はあなたのセッション Cookie が期限切れになることを知っています。そのため、それらの 1 つを取得することは、実際の資格情報を取得することほど良くはありませんが、これはセキュリティ的にはひどい考えのように思えます。)

于 2012-10-19T19:36:14.070 に答える
1

コア ファイルは変更しないでください。app/Config/core.php で必要な構成を指定できます。セッション構成ステートメントの上にあるコメントを読んでください。必要な ini 設定を指定する方法が記載されています。

于 2012-10-19T21:05:04.763 に答える