サイトを見つける方法は、SSL上であるかSSL上ではありませんか?私はライブ取引用のWPプラグインを開発しており、プラグインがインストールされているサイトがSSLを使用しているかどうかを確認することが重要です。&サイトがチェックアウトされている場合、 SSL上ではありません。SSL証明書を見つける方法はサーバーにインストールされていますか? (PHPを使用して)
答えて
$_SERVER['HTTPS']
変数を確認できます。
HTTPSリクエストの場合、スーパーグローバル$ _SERVER配列の 'HTTPS'値が設定され、 'on'に設定されます。 HTTPS要求でない場合は設定されません。それはあなたがこれを行うことができますPHPでHTTPS要求だのであればテストする
:
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
...
}
あなたはそれのようなあなたのコード内で数回HTTPS要求だかどうかを知る必要がある場合は、代わりにあなたは定数としてそれを設定することができますそう:
define('IS_HTTPS_REQUEST', isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on');
@レックス、これは基本的にどのようにスクリプトがHTTPSプロトコル.HTTPSによってスクリプトが要求された場合、$ _SERVER ['HTTPS']が設定され、 'on'に等しくなります。しかし、SSLがサイトが稼働しているサーバーにインストールされていることを確認しようとしています。私はPHPスクリプトhttp://uniapple.net/blog/?p=539#comment-2705を見つけたが、私はテストしたが、すべての側面で動作することを確認していない?ありがとう –
あなたが参照しているコードは使用されていない可能性がありますカールを使用している共有ホスティングでこれをチェックするhttp://stackoverflow.com/questions/9852937/php-curl-proxy-not-work-with-godaddy-shared-hosting、プラグインをインストールして起動したときに使用できるコードあなたはsslが存在しない場合には、あなたのプラグインが動作しないという警告を表示し、要求がsslなしで来た場合(上記のコードを使用してチェックする)、エラーメッセージを表示することができます –
function is_exist_ssl($domain){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://".$domain);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
if(!curl_error($ch)){
$info = curl_getinfo($ch);
if($info['http_code'] == 200){
return true;
}
return false;
}else{
return false;
}
}
用法:
$domain = 'uniapple.net';
if(is_exist_ssl($domain)){
echo "SSL is enabled!";
}else{
echo "No SSL";
}
//usage ::
if(!isset($_SERVER['REDIRECT_HTTPS']) || $_SERVER['REDIRECT_HTTPS'] != 'on'){
if(is_exist_ssl($domain)){
header('location : https://'.$domain);
}
}
this questionに記載されているこの問題に対するいくつかの解決策があります。 Apache Httpdを使用していて、特定の接頭辞へのパスを絞り込むことができる場合は、Location
ディレクティブ内でSSLRequireSSL
を使用できます。あるいは、定義されている場合は$_SERVER['HTTPS']
をPHPでチェックすることができます(Webサーバーに依存する可能性がありますが、通常はそうです)。
さらに重要なことに、HTTPSで配信されているページのチェックにあまり集中しないでください。サーバに到達するまでには、それが遅すぎるため、クライアントがMITM攻撃者によって傍受されている可能性があります(正規のクライアントがHTTPSを使用してもリクエストを行う可能性があります)。ない)。私はthis answerにこの問題についての長い説明をしました。 UIの観点からは、ユーザーが「安全な」セクションを入力することを明確にし、後続の要求がHTTPS経由であることを確認する必要があります。
サーバーが実際にHTTPSで実行されていることを確認することは必ずしも悪いことではありませんが、セキュリティの観点からはあまり役に立ちません。実際に重要なことは、そのセキュリティ保護されたセクションへのすべてのリンクにhttps://
を使用する必要があります(は、に自動URL書き換えを行わないでください)。
この質問は古いので、回答は少し古くなっているので、私はチャイムに乗ると思った!
WordPress Pluginについて質問していました。 WordPressにはis_ssl()という機能があり、WordPress 2.6以降のページでsslが使用されているかどうかを確認できます。
- 1. java httpクライアントでSSL証明書を使用してサーバーにリクエストする方法
- 2. Swift:サーバーSSL証明書を使用してHttpsリクエストを作成する方法
- 3. Mac OSXでSSL証明書を見つけるには
- 4. 証明書 - 証明書ストアにはいつインストールされますか?
- 5. SOAPpy/Pythonを使用してSOAPサーバーにSSL証明書を渡すには
- 6. WCF初心者 - SSL証明書をインストールして使用するには?
- 7. 単一アプリケーション用にSSL証明書をインストールしますか?
- 8. AWS:CloudFrontでカスタムSSL証明書オプションが無効になっていますが、AWS証明書マネージャーを使用してSSL証明書を作成しました
- 9. Kubernetes SSL証明書の使用方法
- 10. JBossにSSL証明書をインストールする
- 11. 1freehosting.comにSSL証明書をインストールする
- 12. ワイルドカードSSL証明書は推奨されていますか?
- 13. IEでSelfSigned SSL証明書を処理して受け入れる方法は?
- 14. サーバーからmachinenameを取得する方法SSL証明書
- 15. node.jsを使用してSSL証明書情報を取得する方法は?
- 16. boost :: asio SSLを使用してクライアント証明書を確認する方法は?
- 17. カスタムPHPでSSL証明書を有効にする/インストールする方法
- 18. rsyncを使用してSSL証明書を別のサーバにコピーする方法
- 19. SSLでサーバー証明書を使用している場合のHTTPエラー403.7
- 20. Swift 3 SSLを使用してサーバー証明書を検証する方法PinningとAlamoFire?
- 21. LDAP + SSL接続のサーバーSSL証明書を検証する方法
- 22. WinRTを使用して無効なSSL証明書を受け入れる
- 23. SSL証明書サーバー名の解決方法/ keytoolを使用して代替名を追加できますか?
- 24. SSLクライアントは期限切れのSSL証明書を受け入れる方法
- 25. AWS/EC2を使用してSSL証明書を適用する
- 26. サーバー接続用の証明書を使用しています
- 27. ファイアフォックスとサファリブラウザに小さなプロキシを使用して作成したSSL証明書のインストール方法?
- 28. TomcatサーバーのSSL証明書
- 29. Apache - SSL証明書をインストールする
- 30. SSL証明書をインストールする
私はこの質問に関連していると思います。http://stackoverflow.com/questions/4503135/php-get-site-url-protocol-http-vs-https –
これは基本的に、スクリプトがHTTPSプロトコルを介してどのように照会されるか、スクリプトがHTTPSによって要求された場合、$ _SERVER ['HTTPS']が設定され、 'on'に等しくなります。しかし、SSLがサイトが稼働しているサーバーにインストールされていることを確認しようとしています。私はPHPスクリプトhttp://uniapple.net/blog/?p=539#comment-2705を見つけたが、私はテストしましたが、それはすべての側面で動作することを確認していない?ありがとう –