Puncte:1

Înlocuiți AuthUserFile cu parola în sine sau faceți referire la o cale relativă către folder

drapel br

Am un script PHP care generează 100 de directoare și în aceste directoare conțin fișiere CSV. Pot să protejez aceste fișiere CSV folosind AuthUserFile dacă indică un fișier .htpasswd absolut, dar vreau să indice un .htpasswd generat personalizat în fiecare dintre aceste directoare.

  • Există o modalitate de a înlocui: AuthUserFile cu parola în sine? Îl am deja pregenerat în scriptul meu PHP.
  • SAU cum pot face referire la fișierul .htpasswd din același director în care se află. Nu funcționează următoarele: AuthUserFile „./htpasswd”
Puncte:0
drapel kz
  • Există o modalitate de a înlocui: AuthUserFile cu parola în sine? Îl am deja pregenerat în scriptul meu PHP.
  • SAU cum pot face referire la fișierul .htpasswd din același director în care se află. Nu funcționează următoarele: AuthUserFile „./htpasswd”

Din păcate, nu poți face niciuna dintre acestea. AuthUserFile (adică, autentificarea HTTP) necesită o cale absolută a fișierului (sau o cale relativă la ServerRoot) și Expresia Apache sintaxa nu este acceptată pentru a face acest AFAIK „dinamic” (cum este și cu alte directive din Apache 2.4, de ex. ErrorDocument).

Cu toate acestea, deoarece generați directoarele, atunci probabil că ați putea genera .htaccess(?) dosar și corespunzătoare .htpasswd fișiere pentru fiecare director? In orice caz, .htpasswd fișierele ar trebui nu să fie stocate în directorul pe care îl protejează sau chiar în spațiul HTML public. Acestea ar trebui să fie stocate în afara arborelui directorului public, deasupra rădăcinii documentului. (Și probabil că inițial ați vrut să evitați mai multe .htaccess fișiere, deși cu dvs sugestii Nu sunt atât de sigur?)

Alternativ, din moment ce utilizați deja PHP pentru a genera aceste directoare și scriptul dumneavoastră PHP cunoaște deja parolele relevante, atunci de ce să nu folosiți PHP pentru a gestiona accesul la fișierele CSV?

De exemplu:

  1. Utilizați Apache mod_rewrite pentru a rescrie intern cererea pentru orice „protejat” .csv fișier într-un script PHP. De exemplu:

    RewriteEngine Pornit
    
    # Toate cererile de fișiere „.csv” din arborele director „/foo/” sunt direcționate către „/serve-csv.php”
    RewriteRule ^/?foo/.+\.csv$ /serve-csv.php [L]
    
  2. Scriptul PHP știe fișierul solicitat (de ex. $_SERVER['REQUEST_URI']) și utilizatorii/parolele cărora li se permite accesul la acest fișier.

  3. PHP poate gestiona autentificarea de bază HTTP (care se pare că folosești) sau implementați propria interfață de autentificare (formulare HTML etc.)

  4. Dacă utilizatorul este autentificat, PHP citește fișierul solicitat și îl servește clientului.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.