|
|
Julkaistu 7.11.2018 10.05.15
|
|
|

BBS:llä tai verkkosivuilla on usein vain sinun lupa nähdä tämä sivu tai ladata tämä resurssi, muutama päivä sitten kävin nginx-palvelimella ohjeen toteuttamiseksi x-sendfilella.
1. Mikä on X-Sendfile?
X-Sendfile on mekanismi, joka välittää tiedostojen latauspyynnöt backend-sovelluksesta front-end-web-palvelimelle käsiteltäväksi, mikä voi merkittävästi parantaa palvelintehokkuutta poistamalla taustaohjelman painetta lukea ja käsitellä tiedostoa lähetyksen käsittelemiseksi, erityisesti suurten tiedostolatausten yhteydessä.
X-Sendfile toteutetaan tietyn HTTP-otsikon kautta: se määrittelee tiedoston osoitteen X-Sendfile-otsikossa mainostettavaksi etupään verkkopalvelimelle. Kun verkkopalvelin havaitsee tämän taustajärjestelmän lähettämän otsikon, se jättää huomiotta muut backendin tuotteet ja käyttää omia komponenttejaan (mukaan lukien optimoinnit kuten välimuistin otsikot ja breakpoint-uudelleenyhteydet) lähettääkseen tiedoston käyttäjälle.
Ennen X-Sendfilen käyttöä on kuitenkin tärkeää ymmärtää, että tämä ei ole vakioominaisuus ja useimmilla verkkopalvelimilla se on oletuksena pois päältä. Eri verkkopalvelimilla on erilaiset toteutukset, mukaan lukien erilaiset X-Sendfile-otsikkoformaatit. Jos tiedosto on konfiguroitu väärin, käyttäjät voivat ladata 0 tavun tiedoston.
X-Sendfile-tiedostojen lataaminen mahdollistaa tiedostojen lataamisen ei-web-hakemistoista (esim. /root/), vaikka tiedosto olisi pois päältä .htaccess-suojauksen alla.
Eri verkkopalvelimet toteuttavat eri HTTP-otsikot
SENDFILE-otsikko | Käytetty WEB-palvelinta | | X-Sendfile | Apache, Lighttpd v1.5, Cherokee | | X-LIGHTTPD-send-file | Lighttpd v1.4 | | X-Accel-Redirect | Nginx, Cherokee |
X-SendFile-käytön haittapuolena on, että menetät hallinnan tiedostonsiirtomekanismista. Esimerkiksi, jos haluat suorittaa tiettyjä toimintoja tiedoston lataamisen jälkeen, kuten antaa käyttäjän ladata tiedoston vain kerran, tämä X-Sendfile ei pysty siihen, koska taustalla oleva php-skripti ei tiedä, onko lataus onnistunut.
2. Miten NGINX:ää käytetään?
Nginx tukee tätä ominaisuutta oletuksena eikä vaadi lisämoduulien lataamista. Toteutus on vain hieman erilainen, ja HTTP-otsikko, joka täytyy lähettää, on X-Accel-Redirect. Lisäksi sinun täytyy tehdä seuraavat asetukset konfiguraatiotiedostoon
sisäinen tarkoittaa, että tätä polkua voi käyttää vain Nginxin sisällä, eikä selaimella pääse suoraan luvattoman latauksen estämiseksi.
3. Kuinka käyttää PHP-ohjelmia?
Jos lisäät X-Accel-Redirect -otsikon, käyttäjä lataa tiedoston /game path -polulta. Tiedostojen käyttöoikeuksien hallinta on toteutettu.
Virallinen dokumentaation esittely:Hyperlinkin kirjautuminen on näkyvissä.
|
Edellinen:Rakkaus, avioliitto ja perhe, kuukauden ensimmäinen puolisko + 18. kesäkuutaSeuraava:CF on ensimmäinen näkökulma koko verkostossa, joka pyrkii itse ja vakauttaa sen kuukauden ajan
|