Zásady zabezpečení obsahu s PHP

Použijte X-Frame-Options a Content-Security-Policy s PHP

Většina dnešních prohlížečů může pomoci ochránit váš web před škodlivými útoky, pokud jim to řeknete. Téměř univerzálně podporovanou metodou je nastavení možností X-Frame. Pokud je tato možnost nastavena, prohlížeč nedovolí jiným webům zobrazovat váš vlastní web v prvku iframe. To chrání před útoky clickjacking a mělo by se používat na všech citlivých stránkách, jako je přihlašovací stránka.

// Adds X-Frame-Options to HTTP header so that page can only be shown in an iframe of the same site.
header('X-Frame-Options: SAMEORIGIN'); // FF 3.6.9+ Chrome 4.1+ IE 8+ Safari 4+ Opera 10.5+

Uživatelé, kteří pracují s aktuálním prohlížečem, automaticky těží z toho, když web v záhlaví odešle zásady zabezpečení obsahu (CSP). Pomocí CSP můžete definovat, odkud je přijímán kód JavaScript, které stránky mohou zobrazovat vaši stránku v prvku iframe a mnoho dalších věcí. Pokud prohlížeč podporuje CSP, může to být účinná ochrana proti skriptování mezi weby. více…

Implementace v PHP je velmi jednoduchá, ale problémy mohou nastat s inline JavaScriptem. Největší ochranu získáte, pokud se v souborech HTML vyhnete veškerému JavaScriptu a místo toho je uložíte do samostatných souborů *.js. V případě, že to není možné (existující zdrojový kód), je zde možnost povolit inline-script.

// Adds the Content-Security-Policy to the HTTP header.
// JavaScript will be restricted to the same domain as the page itself.
header("Content-Security-Policy: default-src 'self'; script-src 'self';"); // FF 23+ Chrome 25+ Safari 7+ Opera 19+
header("X-Content-Security-Policy: default-src 'self'; script-src 'self';"); // IE 10+