Jak nastavit SSL šifrování na celou aplikaci?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
deric
Člen | 93
+
0
-

Stačí přesměrovat všechny adresy v .htaccess a nebo mám přesat Router?

Petr Motejlek
Člen | 293
+
0
-

Já osobně bych to řešil přes .htaccess.

Ondřej Mirtes
Člen | 1536
+
0
-

Stačí všem routám dát jako třetí parametr IRouter::SECURED. Pokud už v nějaké nějaký parametr máš, tak ho spoj pomocí bitového OR (|).

deric
Člen | 93
+
0
-

tak ještě jednou…

Petr Motejlek napsal(a):

Nette si přesměruje URI na nezabezpečenou verzi, nepodařilo se mi to přepsat

Ondřej Mirtes napsal(a):

Stačí všem routám dát jako třetí parametr IRouter::SECURED. Pokud už v nějaké nějaký parametr máš, tak ho spoj pomocí bitového OR (|).

díky moc, bitové OR jsem neznal. Ještě jedna drobnost, na localu nemám nastavené šifrování a ani ho nepotřebuju. Je možné nějak jednoduše nastavit (nejlépe v config.ini) šifrování v závislosti na ENVIRONMENT?

Petr Motejlek
Člen | 293
+
0
-

IMHO to nejde přímo. Buď si uděláš tam, kde ty routy nastavuješ, nějaký

<?php
  if (Environment::isProduction()) {
    // udělej routu s SECURE
  } else {
    // udělej route bez SECURE
  }
?>

Teoreticky by jsi třeba mohl v config.ini mít i proměnnou, do které by sis uložil ty bity, které chceš těm routám předávat a pak je použil přes Environment::getConfig(‚routeBits‘)

deric
Člen | 93
+
+1
-

Petr Motejlek napsal(a):
(…)

právěže jsem nechtěl mít router na dvou místech. to už se mi víc líbí něco takovéhoto:

$router[] = new Route('<? index\.php|>', array(
    'presenter' => 'Front:Default',
    'action' => 'default',
    ), Route::ONE_WAY | Environment::isProduction() ? IRouter::SECURED:NULL
);
Petr Motejlek
Člen | 293
+
0
-

deric napsal(a):

Petr Motejlek napsal(a):
(…)

právěže jsem nechtěl mít router na dvou místech. to už se mi víc líbí něco takovéhoto:

$router[] = new Route('<? index\.php|>', array(
    'presenter' => 'Front:Default',
    'action' => 'default',
    ), Route::ONE_WAY | Environment::isProduction() ? IRouter::SECURED:NULL
);

Jasně, tomu rozumím, proto jsem psal, že to nejde přímo ;). Co jsem měl namysli jako druhé řešení, je nahradit (Environment::isProduction() ? IRouter::SECURED : NULL) něčím jako Environment::getConfig(‚routeBits‘) a v config.ini si do té proměnné uložit IRoute::SECURED nebo null ;)

Editoval Petr Motejlek (9. 12. 2009 14:40)

deric
Člen | 93
+
0
-

Petr Motejlek napsal(a):
(…)

jo, jasně… akorát do config.ini nemůžu uložit IRouter::SECURED ale přímo hodnotu konstanty

secure.crypted=2

takto už to vypadá líp. díky moc.

Ondřej Brejla
Člen | 746
+
0
-

Ano. Opravdu krásné řešení. A David jednoho nedělního rána změní hodnotu oné konstanty na něco zcela jiného, updatuješ si Nette a jsi v koncích…a ne a ne dohledat, kde je zakopaný pes. Proto jsou přeci konstanty konstantami, abychom nepouživali konstantní hodnoty, které v důsledku konstantní být nemusí :-)

Máš snad něco osobního proti ternárním operátorům? Snad ne ;-)

deric
Člen | 93
+
0
-

Ondřej Brejla napsal(a):

Ano. Opravdu krásné řešení. (..)

používám více režimů než PRODUCTION a DEVELOPMENT, takže ternární operátor to opravdu neřeší. Může se na to nadefinovat statická třída, která bude číst hodnotu z configu, jestli se ti to líbí víc.

_Martin_
Generous Backer | 679
+
0
-

A copak se nedá ternární operátor použít stylem secured = TRUE v configu a $secured ? IRouter::SECURED : 0 v definici rout?

deric
Člen | 93
+
0
-

_Martin_ napsal(a):

A copak se nedá ternární operátor použít stylem secured = TRUE v configu a $secured ? IRouter::SECURED : 0 v definici rout?

jj, tak to používám

Ondřej Brejla
Člen | 746
+
0
-

Dle postu výš (o 2) si to tak právě nejspíš nepoužíval. A dle postu výš (o 1 ;-) si prohlásil, že ternární operátor tvůj problém opravdu neřeší :-) A teď píšeš, že ho používáš :-)

Každopádně to není podstatné. Jen jsem chtěl, aby si se vyvaroval nepěkných konstrukcí, které by ti v budoucnu mohly činit jen a pouze potíže. To se podařilo, funkcionality si dosáhl, takže vše je v nejlepším pořádku :-)

deric
Člen | 93
+
0
-

Ondřej Brejla napsal(a):

Dle postu výš (o 2) si to tak právě nejspíš nepoužíval. A dle postu výš (o 1 ;-) si prohlásil, že ternární operátor tvůj problém opravdu neřeší :-) A teď píšeš, že ho používáš :-)

Každopádně to není podstatné. Jen jsem chtěl, aby si se vyvaroval nepěkných konstrukcí, které by ti v budoucnu mohly činit jen a pouze potíže. To se podařilo, funkcionality si dosáhl, takže vše je v nejlepším pořádku :-)

pardon, spatne jsem se vyjardil. chtel jsem jenom jenom napsat, ze nemuzu ulozit posledni parametr primo do configu. nemam ten zdrojak u sebe, tak uz si to moc nepamatuju