<?> PHP NOVA invictum.hr
Izdanje 2026.
Poglavlje 35

Datoteke u korijenu weba

Uređujemo male, ali važne javne datoteke: ikone, manifest, sitemap, robots, security.txt i dokumente za provjeru vlasništva.

20 min čitanja Praktično razina PHP 8.5 ciljna verzija

Nakon ovog poglavlja

Što ćete znati napraviti

  • Razlikovati standardizirane datoteke od neformalnih konvencija.
  • Postaviti sitemap.xml i security.txt na očekivano mjesto.
  • Spriječiti slučajno izlaganje konfiguracije i razvojnih datoteka.

Mala površina

Samo ono što je namjerno javno

U public korijenu obično su index.php, favicon, robots.txt, manifest i javni asseti. .env, composer datoteke, logovi, backupi, testovi i izvorni predlošci ne pripadaju javnom URL prostoru.

Zabrana pristupa kroz .htaccess korisna je dodatna zaštita, ali primarna zaštita je document root usmjeren na public. Datoteka koju web-server ne vidi ne može se slučajno preuzeti zbog pogrešne MIME konfiguracije.

Namjerni javni korijen
public/
├─ index.php
├─ favicon.ico
├─ robots.txt
├─ sitemap.xml
├─ site.webmanifest
├─ .well-known/
│  └─ security.txt
└─ assets/

Otkrivanje i instalacija

Sitemap opisuje URL-ove, manifest web-aplikaciju

XML sitemap pomaže crawlerima otkriti kanonske URL-ove, osobito na velikim ili novim stranicama. Uvrstite samo javne URL-ove koje želite indeksirati i koristite apsolutne HTTPS adrese.

Web App Manifest definira naziv, ikone, početni URL i način prikaza instalirane web-aplikacije. Ne pretvara stranicu automatski u kvalitetan PWA; za offline ponašanje potreban je zaseban, pažljivo dizajniran service worker.

site.webmanifest
{
  "name": "PHP Nova",
  "short_name": "PHP Nova",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#06131d",
  "theme_color": "#06131d",
  "icons": [
    {"src": "/assets/icon-192.png", "sizes": "192x192", "type": "image/png"}
  ]
}

Odgovorno prijavljivanje

Standardno mjesto za sigurnosni kontakt

security.txt prema RFC-u 9116 objavljuje način prijave sigurnosnog problema. Kanonsko mjesto je /.well-known/security.txt. Polje Contact je obavezno, a Expires pomaže pokazati da se podatak održava.

Datoteka nije sigurnosna zaštita ni poziv na neovlašteno testiranje. Proces iza adrese mora stvarno primati prijave, potvrditi primitak i sigurno postupati s osjetljivim detaljima.

.well-known/security.txt
Contact: mailto:[email protected]
Expires: 2027-07-29T00:00:00Z
Preferred-Languages: hr, en
Canonical: https://example.com/.well-known/security.txt
Policy: https://example.com/security-policy

Primijenite naučeno

Vježba: Javni korijen projekta

Napravite minimalan skup root datoteka za knjigu PHP Nova.

  1. Dodajte valjani manifest i ikone odgovarajućih dimenzija.
  2. Napravite sitemap s nekoliko kanonskih poglavlja.
  3. Objavite security.txt s adresom koju netko zaista prati.

Za provjeru i nastavak

Službeni izvori