|
|
Postitatud 07.11.2018 10:05:15
|
|
|

BBS-il või veebilehtedel on sageli ainult sul luba seda lehte näha või selle ressurssi alla laadida, paar päeva tagasi külastasin nginx serverit, kuidas seda failikontrolli rakendada, kasutades x-sendfile'i.
1. Mis on X-Sendfile?
X-Sendfile on mehhanism, mis edastab failide allalaadimise päringud taustarakendusest esipaneeli veebiserverisse töötlemiseks, mis võib oluliselt parandada serveri efektiivsust, eemaldades tagaplaani programmi surve faili lugemiseks ja töötlemiseks, eriti suurte failiallalaadimiste puhul.
X-Sendfile rakendatakse spetsiaalse HTTP-päise kaudu: määrates faili aadressi X-Sendfile päises, et reklaamida seda esipaneeli veebiserverile. Kui veebiserver tuvastab selle tausta poolt saadetud päise, ignoreerib ta teisi tausta väljundeid ja kasutab oma komponente (sh optimeerimisi nagu vahemälu päised ja katkestuspunkti taasühendamised), et saata fail kasutajale.
Kuid enne X-Sendfile'i kasutamist on oluline mõista, et see ei ole standardfunktsioon ja enamik veebiservereid on vaikimisi välja lülitanud. Erinevatel veebiserveritel on erinevad rakendused, sealhulgas erinevad X-Sendfile päise formaadid. Kui konfiguratsioon on valesti, võivad kasutajad alla laadida 0-baidise faili.
X-Sendfile võimaldab faile alla laadida mitte-veebikataloogides (nt /root/) isegi siis, kui fail on .htaccess kaitse all keelatud.
Erinevad veebiserverid rakendavad erinevaid HTTP-päisid
SENDFILE päis | Kasutatud WEB server | | X-Sendfile | Apache, Lighttpd v1.5, Cherokee | | X-LIGHTTPD-send-file | Lighttpd v1.4 | | X-Accel-Redirect | Nginx, Cherokee |
X-SendFile'i kasutamise miinus on see, et kaotad kontrolli failiedastusmehhanismi üle. Näiteks, kui soovid pärast faili allalaadimist teha teatud toiminguid, näiteks lubada kasutajal faili alla laadida ainult üks kord, siis see X-Sendfail seda teha ei saa, sest taustal olev php skript ei tea, kas allalaadimine õnnestus.
2. Kuidas kasutada NGINX-i?
Nginx toetab seda funktsiooni vaikimisi ega nõua täiendavate moodulite laadimist. Lihtsalt rakendus on veidi erinev ja HTTP päis, mida tuleb saata, on X-Accel-Redirect. Lisaks pead seadistama järgmised seaded konfiguratsioonifailis
sisemine tähendab, et sellele rajale pääseb ligi ainult Nginxis ja brauser ei saa seda otse kasutada, et takistada volitamata allalaadimisi.
3. Kuidas kasutada PHP programme?
Kui lisad X-Accel-Redirect päise, laadib kasutaja faili alla /game tee alt. Meie faili õiguste kontroll on rakendatud.
Ametliku dokumentatsiooni tutvustus:Hüperlingi sisselogimine on nähtav.
|
Eelmine:Armastus, abielu ja perekond, kuu esimene pool + 18. juuniJärgmine:CF on esimene vaade kogu võrgule, mis suudab iseennast sihtida ja stabiliseeruda üheks kuuks
|