#1 2016-02-22 17:21:15

pirios
Člen
Registrován: 2011-08-28
Příspěvky: 30
Web

Detekcia HTTPS protokolu (SSL šifrovanie) cez PHP

Platí pre programy PLUS a vyššie.

Ahojte, nikde som to tu nenašiel, tak dopĺňam.

Na Endore je možné zistiť použitie SSL šifrovania priamo cez PHP a to získaním informácie z globálnej premennej servera $_SERVER["HTTP_X_FORWARDED_PROTO"]. Je to jediný údaj, v ktorom sa dá zistiť použitie protokolu (vráti hodnotu http alebo https). Neviem ako to presne funguje na Endore, ale bežné príkazy ako $_SERVER['HTTPS'] alebo $_SERVER['SERVER_PORT'] sa tu nedajú používať - asi sa to týka iba zdielaných SSL certifikátov (neviem posúdiť).

if (!empty($_SERVER["HTTP_X_FORWARDED_PROTO"])) {
  if ($_SERVER["HTTP_X_FORWARDED_PROTO"] == "https") {
    // je pouzite HTTPS
  }
  else {
    // je pouzite HTTP
  }
}

Pre overenie dostupných globálnych hodnôt vo vašom programe použite výpis:

foreach ($_SERVER as $a => $b) {
  echo "$a: $b<br>";
}

Offline

Zápatí

Založeno na FluxBB | CZ a SK