-1

Web サイトの SSL 接続を取得しています。つまり、HTTPS でアクセスできます。このようなことをしたのはこれが初めてで、新しい接続で正常に動作するようにスクリプトで行う必要がある基本的なことを知りたいです。

私のウェブサイトはクッキーとセッションを使用しています。また、HTTP の代わりに HTTPS を使用するようにユーザーに強制する方法を知る必要もあります (つまり、ユーザーが HTTP を使用した場合は HTTPS にリダイレクトします)。

ありがとうございました。

4

4 に答える 4

0

これはphpで行うことができますが、実際にはhttp接続を受け入れてスクリプトを実行し、プログラムでリダイレクトHTTPヘッダーを送信します。

通常、あなたがしていることは、あなたが使用しているものは何でもあなたがリダイレクトをするためにあなたのphpアプリケーション(apache、nginx、...)を提供することを構成することです。

于 2013-01-13T00:08:00.507 に答える
0

あなたが世話をする必要があることがいくつかあります:

  1. HTTPS 用に Apache を構成します。SSL 証明書をインストールし、ポート 443 で HTTPS 用の新しい仮想ホストを作成する必要があります。このページには、その方法の良い例があります。

http://wiki.apache.org/httpd/NameBasedSSLVHosts

  1. HTTPS 経由で HTTP セッションにアクセスするには、HTTP と同じセッション ID が HTTPS でも使用されていることを確認する必要があります。これにはいくつかの方法がありますが、最も一般的な方法は、クエリ文字列でセッション ID を送信し、session_id(); を使用して HTTPS ページにセッション ID を設定することです。
于 2013-01-14T13:57:08.857 に答える
0

特定の URL に対して SSL を強制する必要がある場合は、次のようにすることができます。

ポート 80 の着信 URL を特定のパターンで書き換えます。

RewriteCond %{REQUEST_URI} ^/PATH-YOU-WANT-TO-RESTRICT$
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [R,L]

また、Apache サーバーがポート 443 で受信するリクエストをリッスンしていることを確認する必要があります。これは、httpd.conf ファイルで簡単に行うことができます。

Listen servername:443

また、Apache サーバーに仮想ホストが必要です。

LoadModule ibm_ssl_module modules/mod_ibm_ssl.so

<VirtualHost servername:443>
    SSLEnable
    ServerName servername
    SSLClientAuth None
    ErrorLog /servername/conf/ssl/logs/https-error_log
    RewriteEngine On
    Include conf/vanity_rules/vanity_rewrite_rules.conf
    KeyFile /servername/conf/ssl/yourkey.kdb
</VirtualHost>

この構成により、ブラウザーと Apache サーバー間のトランスポートがすべて暗号化されます。

于 2013-01-14T15:22:55.903 に答える
0

次のことに注意する必要があります。

  • その Web サイト専用の IP アドレスを取得します (通常、名前ベースの仮想 SSL ホストを使用することはできません)。
  • 高品質で信頼できるプロバイダーから証明書を取得してください
  • Apache が SSL リクエストを処理できることを確認してください (openssl、mod_ssl)
  • SSL のみを強制する場合は、http vhost をリダイレクトするように構成します。

    Redirect permanent / https://yourdomain.com

  • https仮想ホストを安全に構成し、暗号化スーツなどに関して何をしているのかを確認してください。構成の例を次に示します(必要なものと正確に一致しない場合がありますが、同様です):

    SSLEngine on
    Header set Strict-Transport-Security "max-age=8640000;includeSubdomains"
    SSLProtocol -ALL +SSLv3 +TLSv1
    SSLCipherSuite 'ECDHE-RSA-RC4-SHA:RC4+SHA1+RSA'
    SSLCertificateFile path/to/your.crt
    SSLCertificateKeyFile path/to/your.key
    SetEnvIf User-Agent ".*MSIE.*" \ 
        nokeepalive ssl-unclean-shutdown \ 
        downgrade-1.0 force-response-1.0
    SSLCACertificateFile path/to/intermediate.ca
    
于 2013-01-14T15:19:29.800 に答える