Fiecare fișier și folder de pe server are trei cifre care spun cine îl poate citi, modifica sau rula. Cu cifrele corecte, site-ul merge și un atacator are mai puțin loc de mișcare. Cu cifrele greșite, fie site-ul dă „403 Forbidden”, fie orice script poate scrie peste fișierele tale.
Ce vei reuși
- înțelegi ce înseamnă 644, 755 și 777;
- verifici și corectezi permisiunile din Enhance;
- protejezi
wp-config.phpși folderul cu imagini al unui site WordPress.
Ce înseamnă cifrele
Cele trei cifre sunt, pe rând, pentru proprietar (utilizatorul site-ului tău), grup și ceilalți. Fiecare cifră e o sumă: 4 = citire, 2 = scriere, 1 = rulare (la foldere: intrare în folder).
| Cifre | Pentru | Ce înseamnă |
|---|---|---|
| 644 | fișiere | tu citești și scrii; restul doar citesc |
| 755 | foldere | tu intri, citești și scrii; restul intră și citesc |
| 640 sau 600 | fișiere cu parole, de exemplu wp-config.php | doar tu (și grupul, la 640) le poți citi |
| 777 | — | oricine citește, scrie și rulează. Nu-l folosi niciodată |
Pe găzduirea NBT Host, fișierele urcate din Enhance sau prin FTP primesc de obicei singure 644 și 755. Problemele apar după un plugin care schimbă permisiunile, după o arhivă dezarhivată de la alt server sau după sfatul „pune 777 și merge” găsit pe un forum.
Înainte să începi
- Fă o copie a site-ului: în Enhance, pe pagina site-ului, fila „Backups” » „Create backup” (pe „English (US)”, „Backup now”).
- Denumirile din Enhance sunt în engleză, exact cum apar pe ecran. Dacă panoul e în română, îl treci pe engleză din dreapta sus: „My account” » „Language”.
Pașii
A. Verifici permisiunile
- În Enhance, deschide „Websites”, apoi site-ul și fila „Files”.
- Clic dreapta pe un fișier sau folder » „Get info”: vezi permisiunile, proprietarul și data modificării.
- Verifică mai ales
public_html,wp-config.php,.htaccessși folderelewp-content,wp-content/uploads.
B. Corectezi permisiunile
- Clic dreapta pe fișier sau folder » „Permissions (CHMOD)”.
- Pune 644 la fișiere și 755 la foldere.
- La un folder, bifează „Apply recursively” doar dacă știi că tot ce e în el trebuie să aibă aceleași cifre. Nu aplica 755 recursiv pe un folder cu fișiere: fișierele ar primi drept de rulare fără motiv.
- Deschide site-ul și verifică dacă merge.
C. Protejezi wp-config.php
În wp-config.php stau parola bazei de date și cheile de securitate WordPress.
- Pune-i permisiunile 640. Deschide site-ul: dacă merge, poți încerca și 600. Dacă apare o eroare, revino la 644 și scrie-ne.
Adaugă în
.htaccess, dinpublic_html, regula de mai jos. Ea refuză orice cerere directă din browser către fișier, fără să încurce WordPress:<Files wp-config.php> Require all denied </Files>Fișierul
.htaccessse editează din fila „Files”: clic dreapta » „Edit”, apoi „Save” (pașii sunt în Redirecționare spre HTTPS și www).
D. Oprești rularea PHP în folderul cu imagini
În wp-content/uploads ajung pozele și documentele urcate. Acolo nu trebuie să ruleze niciodată cod PHP, dar un atacator care reușește să urce un fișier îl pune exact acolo.
- În fila „Files”, intră în
wp-content/uploads. - Creează fișierul
.htaccesscu „New file”, deschide-l cu „Edit” și pune în el:<FilesMatch "\.(?i:php|phtml|phar)$"> Require all denied </FilesMatch> - Salvează și verifică că pozele de pe site se văd în continuare. Pozele nu sunt afectate: regula oprește doar fișierele PHP.
Unele pluginuri își țin fișierele PHP în uploads. Dacă după regulă un plugin nu mai merge, scoate-o și scrie-ne numele pluginului.
Ce nu faci
- Nu pui 777, nici „doar pentru un minut”. Dacă un plugin cere 777 ca să meargă, e o problemă a pluginului.
- Nu schimbi proprietarul fișierelor cu unelte găsite pe internet. Pe găzduire, fișierele aparțin utilizatorului site-ului tău, iar PHP rulează cu același utilizator.
- Nu lași copii vechi în
public_html(backup.zip,site-vechi.sql,wp-config.php.bak): se pot descărca din browser de oricine le ghicește numele.
Dacă ceva nu merge
- Site-ul dă „403 Forbidden”. Un fișier sau folder are permisiuni prea strânse, de exemplu 700 pe un folder. Vezi Eroarea 403 Forbidden: de ce apare și cum o repari.
- Site-ul dă „500 Internal Server Error” după ce ai editat
.htaccess. E o greșeală de scriere în regula adăugată. Șterge liniile noi, salvează și încearcă din nou (vezi Eroarea 500 Internal Server Error și pagina albă). - WordPress nu mai poate instala pluginuri sau actualizări. Un folder din
wp-contentnu e scriibil. Pune-i 755. - Permisiunile revin singure la 777 sau la alte valori. Poate fi un plugin sau un semn de malware. Vezi Cum îți dai seama că site-ul are malware.
