Kontaktoni mbështetjen

Përgjigjemi me email. Zakonisht brenda dy ditësh.

Për mbrojtje nga abuzimi, Google reCAPTCHA kontrollon këtë dërgesë. Gjatë kësaj, të dhënat i transmetohen kompanisë Google. Skripti ngarkohet vetëm kur hapet ky formular.

← Të gjitha postimet

Një kopje rezervë në rrënjën e uebit zbulon kodin burimor

Për përmbajtjen dhe kontrollin e saj

Në këtë artikull

Përpara redaktimit të një skedari të madh, veprimi i natyrshëm është ta kopjoni. cp index.php index.php.vor-aenderung, pastaj të punoni. Nëse skedari ndodhet në dosjen që publikon serveri i uebit, i gjithë kodi burimor sapo është bërë i shkarkueshëm si tekst i thjeshtë — kredencialet e bazës së të dhënave, sekretet, gjithçka që përmban skedari.

Apache e ekzekuton index.php përmes PHP sepse përfundon me .php. index.php.vor-aenderung nuk përfundon me .php. Përfundon me .vor-aenderung, për të cilën Apache nuk di asgjë, prandaj vepron si parazgjedhje dhe dërgon bajtet.

Rregulli që shkruajnë shumica dhe pse nuk mjafton

Mbrojtja e zakonshme është një listë prapashtesash të ndaluara: .bak, .orig, .save, .sql, .old. Ajo kap skedarin që ju erdhi në mendje. E testuar këtu, kjo listë dha përgjigjen e duhur për probe.bak dhe përgjigjen e gabuar për secilin nga këta:

  • index.php.vor-xyz — si ndodhi në të vërtetë
  • index.php.2026-08-19
  • index.php.kopie
  • style.css.alt
  • index.php.1
emri i skedaritpërgjigjjaprobe.bak403index.php.vor-xyz200index.php.2026-08-19200index.php.kopie200style.css.alt200lista naive kap një nga pesë

Të gjithë u dërguan me 200. Përdoret pikërisht modeli i emërtimit që nuk e mendoi askush, sepse kopjet rezervë emërtohen sipas asaj që po ndodhte në atë çast.

Kthejeni këndvështrimin

Rregulli që funksionon nuk pyet cilat prapashtesa ndalohen. Bën një pyetje strukturore: a përmban ky emër skedari një prapashtesë kodi burimor që nuk është në fund?

Nëse po, është kopje e diçkaje që duhej të ekzekutohej, pavarësisht çfarë thotë prapashtesa pas saj. index.php.anything përputhet. style.css.anything përputhet. Modeli mbulon emrat që askush nuk i ka shpikur ende, pikërisht ky është qëllimi.

Të kontrolluar sot në serverin aktiv, të pesë emrat më sipër tani kthejnë 403, përfshirë ata që nuk ekzistojnë — rregulli ndalon modelin, jo skedarin.

Përjashtimi dhe çfarë na mëson

Një emër i ligjshëm skedari këtu ka pikërisht këtë formë: burimet e parakompresuara shkruhen si style.css.1787777226.gz, me qëllim me një prapashtesë në mes. Prandaj rregulli ka vetëm një përjashtim të ngushtë për një segment numerik të pasuar nga .gz, dhe ai skedar kthen 200 siç duhet.

Përjashtimet e tilla janë aty ku këto rregulla zakonisht dështojnë, prandaj ia vlen të thuhet çfarë e bën këtë të sigurt: është aq i ngushtë sa nuk mund të ndërtohet asnjë index.php.something.gz për të marrë kodin burimor, sepse segmenti i mesëm duhet të përmbajë vetëm shifra. Një përjashtim më i gjerë — „çdo gjë që mbaron me .gz“ — do ta zhbënte të gjithë rregullin.

Dhe këshilla më e thjeshtë mbetet ajo që i bën të gjitha këto të panevojshme: mbajini kopjet rezervë jashtë dosjes së publikuar. Rregulli është rrjetë sigurie për ditën kur kjo harrohet, jo leje për të mos u kujdesur ku vendoset kopja.

Reklamë