sslを使用してセキュリティで保護されたサイトがあります。ログインをチェックするphpファイルがあります。ログインしていない場合はログインフォームが表示されます。ページにログインすると、更新されてログインが再度チェックされ、ログインに合格するとページのコンテンツが読み込まれます。私がやろうとしているのは、httpsでログインをロードすることです。その後、JavaScriptがajaxからログインが成功したことを確認すると、ページはhttpだけでリロードされ、ページのロード時間とレイテンシーが削減されます(これらは大きいです)ページと小さなことは役に立ちます)。これを動的に行う必要があるため、リダイレクトURLを指定することはできません。
質問する
1573 次
2 に答える
1
この問題を解決するには、ログインが必要なすべてのページの上部にロードされているこのテストされていない疑似コードを使用できます。
if(loggedin()&&$_SERVER[SERVER_PORT]==443)
{
//if user is logged in but they are still on the https site, redirect to the http site
header("Location:http://$_SERVER[HTTP_HOST]$_SERVER[SCRIPT_NAME]?$_SERVER[QUERY_STRING]");
}
elseif(!loggedin()&&$_SERVER[SERVER_PORT]!=443)
{
//if the user is not logged in and they are not on the secure site, send them to the login page on the secure site
header("Location:https://$_SERVER[HTTP_HOST]/login.php");
}
于 2012-06-03T04:29:43.563 に答える
0
これを行うには、.htaccessの使用が推奨される方法です。単一のページまたは特定のページにのみhttpsを使用するには、.htaccessを使用します。
詳細については、こちらを確認して くださいhttp://www.sitepoint.com/forums/showthread.php?694107-htaccess-rule-redirect-https-for-just-one-page
于 2012-06-03T05:06:52.493 に答える