0

セッションセキュリティが設定されているかどうかを確認するメインコントローラーがあり、そうでない場合は安全なコントローラーにリダイレクトします。

問題は、安全なコントローラーが https を介しており、パスワードをチェックしてセッションを設定し、メインコントローラーにリダイレクトすることです。https で設定したセッションに http でアクセスできません。

https を使用して通常の http にリダイレクトするにはどうすればよいですか? http と https のセッションが必要です

何か案は?

編集

わかりました、いろいろ調べてみましたが、物事を安全に保つことなく、それは実際には不可能です. 1 つのオプションは、セッションを GET 経由で送信することですが、明らかに安全ではありません。ログインを確認した後、セッションを通常の http ページに投稿する https フォームにリダイレクトし、html ページでヘッダーをチェックして確認します。私のhttpsページから来ました。それはあなたにとって安全だと思いますか??

4

2 に答える 2

0

ページ全体を安全なサイト (https) の一部にしてみませんか? サイト間で GET キーを渡さずに http => https 変換を行う方法がわかりません。

あなたのロジックが、家のhttp側のCookieからセッションID(キーのみ)を取得し、家のhttps側のCookieに(手動で)作成することである場合、それほど大きなセキュリティ上の懸念はないと思います. その後、通常のセッション処理の検証を実行して、有効なセッションかどうかを確認できます。ロジックを悪用からできるだけ分離します。

バックエンドでは、サイト間でセッション情報を共有したり、取得したセッション ID に基づいて http から https へのコピーをトリガーしたりできます。アーキテクチャによって異なります。

于 2012-06-04T16:02:32.147 に答える
0

アプリ全体を HTTPS にします。添付されているのは、ほとんどすべてのサイトで使用しているブロックで、すべてを 80 から 443 にリダイレクトします。

##
# Sample config for a site needing SSL
#

$HTTP["host"] =~ "^ssl_example.localhost(:[0-9]+)?$" {
    # Serve everything over HTTPS
    $SERVER["socket"] == ":80" {
        url.redirect-code = 301
        url.redirect = ( "/(.*)" => "https://ssl_example.localhost:%1/$1" )
    }

    # This would be a great place to test SSL config for QA/Dev zones...
    $SERVER["socket"] == ":443" {
        ssl.engine = "enable"
        ssl.pemfile = rootdir + "/etc/ssl/example.pem" 
        server.document-root = "/home/crosslight/ssl_example/default"
        accesslog.filename = rootdir + "/var/log/ssl_example.log"
        server.errorlog = rootdir + "/var/log/ssl_example.error.log"
        server.tag = "Crosslight (lighttpd-1.4.28 + php-5.3.3) / SSL"

        // CodeIgniter/Kohana rewrite rules
        url.rewrite-once = (
            "^/index\.php" => "/index.php", #truncate index.php?params to just index.php
            #### Serve static content
            "^/(static.*)" => "/$1",
            "^/(blog.*)" => "/$1",
            "^/(.*)$" => "/index.php/$1"
        )
    }
}
于 2012-06-03T20:46:34.103 に答える