HTTP konfigurálása
A Nette HTTP konfigurációs lehetőségeinek áttekintése.
Ha nem a teljes keretrendszert, hanem csak ezt a könyvtárat használja, olvassa el , hogyan töltse be a konfigurációt.
HTTP fejlécek
Biztonsági okokból a keretrendszer egy X-Frame-Options: SAMEORIGIN
fejlécet küld, amely azt mondja, hogy egy
oldal egy másik oldalon belül jeleníthető meg (az elemben <iframe>
) csak akkor, ha az ugyanabban a
tartományban van. Ez bizonyos helyzetekben nem kívánatos lehet (például, ha Facebook-alkalmazást fejlesztünk), ezért a
viselkedés megváltoztatható a frames: http://allowed-host.com
.
Tartalombiztonsági politika
Fejlécek Content-Security-Policy
(a továbbiakban CSP) könnyen összeállítható, leírásuk a CSP leírásában található. A CSP irányelvek (például
script-src
) a specifikációnak megfelelően karakterláncokként vagy a jobb olvashatóság érdekében
értékekből álló tömbként írhatók. Ekkor nem szükséges idézőjeleket írni az olyan kulcsszavak köré, mint a
'self'
. A Nette automatikusan generálja a nonce
értékét is, így a 'nonce-y4PopTLM=='
a fejlécben kerül elküldésre.
Használja a <script n:nonce>...</script>
a sablonokban, és a nonce érték automatikusan
kitöltődik. Biztonságos weboldalak készítése a Nette-ben nagyon egyszerű.
Hasonlóképpen hozzáadható a Content-Security-Policy-Report-Only
fejléc (amely a CSP-vel párhuzamosan
használható) és a Feature Policy:
HTTP süti
A Nette\Http\Response::setCookie() és a session metódusok néhány paraméterének alapértelmezett értékét megváltoztathatja.
A cookieDomain
opció határozza meg, hogy mely tartományok (eredet) fogadhatják el a cookie-kat. Ha nincs
megadva, akkor a cookie-t ugyanaz a (al)tartomány fogadja el, amelyik az általa beállított, kizárva az aldomainjeiket.
Ha a cookieDomain
van megadva, akkor az aldomainek is bevonásra kerülnek. Ezért a cookieDomain
megadása kevésbé korlátozó, mint az elhagyása.
Például, ha a cookieDomain: nette.org
van megadva, a cookie az összes aldomainen is elérhető, mint a
doc.nette.org
. Ez a domain
, azaz cookieDomain: domain
speciális értékével is
elérhető.
A cookieSecure
alapértelmezett értéke a auto
, ami azt jelenti, hogy ha a weboldal HTTPS-en fut, a
cookie-kat a Secure
jelzővel küldi el, és így csak HTTPS-en keresztül lesznek elérhetőek.
HTTP proxy
Ha a webhely HTTP-proxy mögött fut, adja meg a proxy IP-címét, hogy a HTTPS-kapcsolatok felismerése megfelelően
működjön, valamint az ügyfél IP-címét. Azaz, hogy a Nette\Http\Request::getRemoteAddress() és az isSecured() a megfelelő értékeket adja vissza, és a sablonokban a https:
protokollal generálódjanak linkek.
Munkamenet
Alapvető munkamenetek beállításai:
A autoStart
opció szabályozza a munkamenet indításának időpontját. A always
érték azt
jelenti, hogy a munkamenet mindig az alkalmazás indításakor indul. A smart
érték azt jelenti, hogy a munkamenet
csak akkor indul el az alkalmazás indításakor, ha már létezik, vagy abban a pillanatban, amikor olvasni akarunk róla vagy
írni akarunk rá. Végül a never
érték kikapcsolja a munkamenet automatikus indítását.
Beállíthatjuk továbbá az összes PHP munkamenet direktívát (camelCase formátumban), valamint a readAndClose értéket is. Példa:
Munkamenet süti
A munkamenet süti ugyanazokkal a paraméterekkel kerül elküldésre, mint a többi süti, de ezeket megváltoztathatja:
A cookieSamesite
opció befolyásolja, hogy a cookie-t a cross-origin kérésekkel együtt küldi-e el, ami némi
védelmet nyújt a Cross-Site Request
Forgery támadások ellen.
DI-szolgáltatások
Ezek a szolgáltatások hozzáadódnak a DI konténerhez:
Név | Típus | Leírás |
---|---|---|
http.request |
Nette\Http\Request | HTTP-kérelem |
http.response |
Nette\Http\Response | HTTP-válasz |
session.session |
Nette\Http\Session | session management |