#1 2012-02-28 12:03:12

fhrbata
Endora uživatel
Registrován: 2011-08-04
Příspěvky: 2

Re: nefungujici https

Dobry den,

dnes jsem pres Vas zaregistroval domenu masova23a.cz a zakoupil program PLUS. Bohuzel mi nefunguje https pristup.

http://masova23a.cz = OK
https://masova23a.cz/ == HTTPS nedostupné Https je dostupné pouze u plus programu

Chtel bych aby cela domena byla by default dostupna jen pres https

masova23a.cz/web/.htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Toto samozrejme nefunguje take.

Muzete mi prosim poradit co delam spatne, pripadne se na to zkusit podivat.

Moc dekuji

Offline

#2 2012-02-28 14:07:20

admin
Administrátor
Registrován: 2009-05-15
Příspěvky: 4,293

Re: nefungujici https

Uz by to melo bezet.

Https bohuzel takhle na endore testovat nelze

Offline

#3 2012-02-28 15:47:23

fhrbata
Endora uživatel
Registrován: 2011-08-04
Příspěvky: 2

Re: nefungujici https

admin napsal:

Uz by to melo bezet.

Dekuji za rychlou odpoved a opravu. Ted jiz pristup pres https funguje.

admin napsal:

Https bohuzel takhle na endore testovat nelze

Lze toho dosahnout nejak jinak?

Dekuji

Offline

#4 2012-02-29 21:12:07

admin
Administrátor
Registrován: 2009-05-15
Příspěvky: 4,293

Re: nefungujici https

Testovani mozna jedine nejak pres php.

Offline

#5 2012-05-25 05:39:51

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

Re: nefungujici https

na Endore nefunguje cez PHP ani premenna $_SERVER['HTTPS'], neodovzda ziaden parameter (ani pri HTTP ani HTTPS), na zaklade ktoreho by bolo mozne dalej detekovat pouzity protokol, nie je mozne pouzit ani kontrolu portu, nakolko premenna $_SERVER['SERVER_PORT'] vzdy vrati hodnotu 80, takze sa neda nijakym sposobom detekovat ani pouzity odkaz v prehliadaci, da sa iba zistit server a pouzity prikaz, nie vsak protokol. daju sa na to pouzit aj prikazy Apache, ale tie su z bezpecnostnych dovodov samozrejme na Endore blokovane.

riesenim je zistenie URL prikazu cez JavaScript:

  • document.location.href

  • document.URL

vzor:

if (document.location.href.search("https://") == -1) {
  // bol pouzity HTTP protokol
}
else {
  // bol pouzity HTTPS protokol
}

alebo cez vlastne premenne:

var url      = document.location.href;
var protokol = "https://";

if (url.search(protokol) == -1) {
  // bol pouzity HTTP protokol
}
else {
  // bol pouzity HTTPS protokol
}

alebo s presnou identifikaciou vysledkov (0 = zhoda):

if (document.location.href.search("https://") == 0) {
  // bol pouzity HTTPS protokol
}

if (document.location.href.search("http://") == 0) {
  // bol pouzity HTTP protokol
}

poznamka:
dovodom, preco JavaScript vie zistit vlozeny URL odkaz a PHP nie, je ten, ze JS je skriptovaci jazyk, ktory pracuje vyhradne na strane klienta (v prehliadaci) a PHP je programovaci jazyk na strane servera (pc, kde bezi web server a ine sluzby) a vsetky cinnosti (okrem cookies) sa vykonavaju prave na serveri a klient (prehliadac) vidi iba konecny vysledok, a ked server (Endora) blokuje urcite funkcie, nie je mozne tieto hodnoty korektne ziskat cez PHP... JS uz dnes nie je tak popularny ako kedysi a je z hladiska bezpecnosti rizikovy. mnohi uzivatelia blokuju pouzitie skriptov a preferuju "ciste" stranky bez skriptov. je teda nutne uviest do HTML kodu upozornenie cez znacku <noscript>, ze stranka vyzaduje pouzitie JS, inak funkcia nebude fungovat. kazdy, kto vytvara web musi mysliet aj na kontrolu funkcii a na situacie, ktore mozu nastat...

Offline

#6 2016-02-28 20:30:43

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

Re: nefungujici https

Je to uz sice davno, ale doplnam, ze Endora umoznuje zistit aky protokol bol pouzity, pouziva na to globalnu premennu $_SERVER["HTTP_X_FORWARDED_PROTO"].

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

Offline

#7 2016-03-08 11:45:01

panther7
Endora uživatel
Registrován: 2011-08-28
Příspěvky: 4

Re: nefungujici https

admin napsal:

Https bohuzel takhle na endore testovat nelze

Proč?

Offline

#8 2016-03-08 13:42:57

PetrAndel
Podpora
Registrován: 2015-07-27
Příspěvky: 500

Re: nefungujici https

Dobrý den,
je to způsobené technologickým stackem Endory, používáme reverzní proxy.

Ještě bych dodal že lze i v .htaccess kontrolovat X-Forwarded-Proto:

RewriteCond %{HTTP:X-Forwarded-Proto} !https

Offline

Zápatí

Založeno na FluxBB | CZ a SK