2016-09-26 74 views
-4

如何檢查網站是否安全HTTPS或不安全HTTP檢查一個網站是HTTP還是HTTPS

其實,我的用戶需要輸入他們的網址是這樣的:domain.com

我的系統需要這個領域,並檢查它是否是一個HTTPSHTTP

感謝您的幫助。

+1

只是一句警告......像你這樣的問題,不顯示任何類型的嘗試,缺乏細節不會得到非常多的幫助..如果這一切。我假設您使用基於您的標記的php ... –

+0

捲曲頭請求將起作用 – nogad

+0

真的取決於所使用的協議以及服務器是否強制執行特定協議。我的服務器例如強制執行HTTPS。如果您只輸入'domain.com',將使用HTTP,除非服務器將您重定向回https:// domain.com。 –

回答

-1

cURL都是http://和https://,都會返回你想要的。用戶仍然可以在沒有協議的情況下輸入URL。

+0

我希望看到如何在此ping通網址 – nogad

+0

Ping不能使用HTTP - 它可以與IP地址(或轉換爲IP地址的域)一起使用。最好在端口80上使用cURL,如果失敗,則使用端口443,並查看哪個成功。 – halfer

+0

很明顯,它不會是你所說的'平',但感謝您的有用評論。那裏有很多http級ping工具。 – yeahright

0
function check_https($url){ 
$ch = curl_init ('https://'.$url); 

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, 'HEAD'); //its a HEAD 
curl_setopt ($ch, CURLOPT_NOBODY, true);   // no body 

curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); // in case of redirects 
curl_setopt ($ch, CURLOPT_VERBOSE,  0); //turn on if debugging 
curl_setopt ($ch, CURLOPT_HEADER,   1);  //head only wanted 

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 10); // we dont want to wait forever 

curl_exec ($ch) ; 

$header = curl_getinfo($ch,CURLINFO_HTTP_CODE); 
//var_dump ($header); 

if($header===0){//no ssl 
     return false; 
}else{//maybe you want to check for 200 
     return true; 
} 

} 



var_dump(check_https("google.com")); 
0

隨着捲曲功能,您可以檢查:

  • 如果網站會談HTTP端口80
  • 如果網站會談HTTPS端口443

但也許它不是相同的答案:

  • 某些服務器通過http回答「公共」內容和通過https回答「私人」內容某些服務器可能會回答某些完全不相關的內容,因爲他們選擇
  • 某些服務器可能有錯誤配置的端口443,並回答默認網站網絡服務器(可能是任何東西,與請求無關,可能與錯誤的證書有關)
相關問題