HTTP Strict Transport Security (HSTS) je pravilo, ki pomaga zaščiti spletna mesta pred napadi. Slednji tako sporoča brskalnikom, da morajo samodejno komunicirati samo s povezavami HTTPS, ki so bolj varne.
Zakaj je to sploh pomembno? Poleg same varnosti uporabnikov je tu tudi spletna optimizacija. Strani, ki vključujejo še tako majhne in na prvo žogo ne pomembne zadeve v svoj razvoj običajno na dolgi rok zmagujejo. Med nenehnim testiranjem spletnih strani in branjem logov različnih orodji sem velikokrat zasledil, da je vpeljava tega protokola zaželena. Namreč takšne strani so bolj varne in posledično imajo na Googlu in podobnih iskalnikih večjo težino. Vsaka malenkost šteje.
Kaj je HTTP Strict Transport Security (HSTS)?
HTTP Strict Transport Security (HSTS) je enostaven in široko uporabljen standard, ki varuje uporabnike spleta tako, da vedno njihove zahteve pošilja preko HTTPS povezav.
Zaščita se vklopi šele po tem, ko je uporabnik vsaj enkrat obiskal spletno stran, po načelu “trust on first use”. Ta zaščita deluje tako, da ko uporabnik vnese ali izbere povezavo HTTP (ne HTTPS) do spletnega mesta, bo spletni brskalnik, samodejno nadgradil na HTTPS, ne da bi naredil zahtevo HTTP, s čimer prepreči kakršno koli uporabo HTTP-ja in tako prepreči morebitne napade.
Kako vklopimo HTTP Strict Transport Security?
Najprej seveda rabimo SSL certifikat, tako da sploh imamo HTTPS povezave na voljo. Potem pa se slednji največkrat vklopijo preko datoteke “.htaccess”.
.htaccess primer
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Včasih pa se zgodi, da dostopa do slednje nimamo, kot se je meni zgodilo na zadnjem projektu. Ker je bila stran zgrajena na WordPressu sem lahko uporabil spodnji snippet, ki sem ga pripel v datoteko “functions.php”.
WordPress primer
/**
* Enables the HTTP Strict Transport Security (HSTS) header in WordPress.
*/
function tg_enable_strict_transport_security_hsts_header_wordpress() {
header( 'Strict-Transport-Security: max-age=31536000' );
}
add_action( 'send_headers', 'tg_enable_strict_transport_security_hsts_header_wordpress' );
Vir: https://thomasgriffin.com/enable-http-strict-transport-security-hsts-wordpress/