Konfiguriranje protokola HTTP
Pregled možnosti konfiguracije za Nette HTTP.
Če ne uporabljate celotnega ogrodja, temveč samo to knjižnico, preberite, kako naložiti konfiguracijo.
Glave HTTP
Iz varnostnih razlogov ogrodje pošlje glavo X-Frame-Options: SAMEORIGIN
, ki pove, da se stran lahko prikaže
znotraj druge strani (v elementu <iframe>
) le, če je ta v isti domeni. To je lahko v določenih situacijah
nezaželeno (na primer, če razvijate aplikacijo za Facebook), zato lahko obnašanje spremenite z nastavitvijo okvirjev
frames: http://allowed-host.com
.
Varnostna politika vsebine
Naslovnice Content-Security-Policy
(v nadaljevanju CSP) je mogoče preprosto sestaviti, njihov opis pa je na
voljo v opisu CSP. Smernice CSP (kot je script-src
) so lahko
zapisane kot nizi v skladu s specifikacijo ali kot polja vrednosti zaradi boljše berljivosti. Potem ni treba pisati narekovajev
okoli ključnih besed, kot je 'self'
. Nette bo samodejno ustvaril tudi vrednost nonce
, zato bo
'nonce-y4PopTLM=='
poslana v glavi.
Uporabite <script n:nonce>...</script>
v predlogah in vrednost nonce bo samodejno izpolnjena.
Ustvarjanje varnih spletnih mest v Nette je zelo enostavno.
Podobno je mogoče dodati glave Content-Security-Policy-Report-Only
(ki se lahko uporabljajo vzporedno s CSP) in
politiko funkcij:
Piškotki HTTP
Spremenite lahko privzete vrednosti nekaterih parametrov metod Nette\Http\Response::setCookie( ) in session.
Možnost cookieDomain
določa, katere domene (izvori) lahko sprejmejo piškotke. Če ni določena, piškotek
sprejme ista (pod)domena, kot je nastavljena, izključujoč njihove poddomene. Če je določena možnost
cookieDomain
, so vključene tudi poddomene. Zato je navedba cookieDomain
manj omejevalna kot
opustitev.
Če je na primer nastavljena cookieDomain: nette.org
, je piškotek na voljo tudi na vseh poddomenah, kot je
doc.nette.org
. To je mogoče doseči tudi s posebno vrednostjo domain
, tj.
cookieDomain: domain
.
Privzeta vrednost cookieSecure
je auto
, kar pomeni, da bodo piškotki, če spletna stran deluje
v protokolu HTTPS, poslani z zastavico Secure
in bodo zato na voljo le prek HTTPS.
Proxy strežnik HTTP
Če spletno mesto deluje za posredniškim strežnikom HTTP, vnesite naslov IP posredniškega strežnika, da bo zaznavanje
povezav HTTPS delovalo pravilno, in naslov IP odjemalca. To pomeni, da bosta funkciji Nette\Http\Request::getRemoteAddress() in isSecured( ) vrnili pravilne vrednosti in da bodo v predlogah ustvarjene povezave
s protokolom https:
.
Seja
Osnovne nastavitve seje:
Možnost autoStart
določa, kdaj se seja začne. Vrednost always
pomeni, da se seja vedno zažene ob
zagonu aplikacije. Vrednost smart
pomeni, da se bo seja začela ob zagonu aplikacije le, če že obstaja, ali
v trenutku, ko želimo iz nje brati ali vanjo pisati. Nazadnje, vrednost never
onemogoča samodejni zagon seje.
Nastavite lahko tudi vse direktive seje PHP (v obliki camelCase) in tudi readAndClose. Primer:
Piškotek seje
Sejni piškotek se pošlje z enakimi parametri kot drugi piškotki, vendar jih lahko spremenite:
Možnost cookieSamesite
vpliva na to, ali se piškotek pošilja z zahtevki z navzkrižnim izvorom, kar zagotavlja določeno
zaščito pred napadi Cross-Site Request
Forgery.
Storitve DI
Te storitve so dodane v vsebnik DI:
Ime | Vrsta | Opis |
---|---|---|
http.request |
Nette\Http\Request | HTTP request |
http.response |
Nette\Http\Response | HTTP response |
session.session |
Nette\Http\Session | upravljanje sej |