Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 10873|Vastaus: 0

[Web] Tiedostojen pääsyn hallinta Nginxin X-Sendfile-mekanismilla (php-versio)

[Kopioi linkki]
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-SendfileApache, Lighttpd v1.5, Cherokee
X-LIGHTTPD-send-fileLighttpd v1.4
X-Accel-RedirectNginx, 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äkuuta
Seuraava:CF on ensimmäinen näkökulma koko verkostossa, joka pyrkii itse ja vakauttaa sen kuukauden ajan
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com