I en tid, hvor digitale trusler konstant udvikler sig, er det vigtigt for websiteejere at være et skridt foran, især når det gælder WordPress-sikkerhed. I dette indlæg vil jeg dykke ned i en specifik PHP-kode, som kan hjælpe dig med at beskytte dit site mod visse typer angreb. Lad os bryde koden ned, stykke for stykke:
global $user_ID; if($user_ID) {
if(!current_user_can('administrator')) {
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
stripos($_SERVER['REQUEST_URI'], "eval(") ||
stripos($_SERVER['REQUEST_URI'], "CONCAT") ||
stripos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
stripos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
}
Forklaring af Kodeelementerne
Global Variabel
global $user_ID;
– Denne linje gør WordPress’ bruger-ID globalt tilgængeligt i funktionen, så vi kan kontrollere, om brugeren er logget ind.
Brugerlogintjek
if($user_ID) { ... }
– Dette tjekker, om der er en logget ind bruger. Hvis der er, fortsætter koden med at køre.
Administratorrettigheder
if(!current_user_can('administrator')) { ... }
– Her tjekkes det, om den nuværende bruger IKKE er en administrator. Hvis brugeren ikke er en administrator, udføres koden i denne blok.
Sikkerhedstjek af URL
Denne del tjekker URL’en for potentielt skadelige mønstre:
strlen($_SERVER['REQUEST_URI']) > 255
– Tjekker om URL-længden er unormalt lang, hvilket kan være et tegn på et angrebsforsøg.stripos($_SERVER['REQUEST_URI'], "eval(")
, og lignende tjek – Søger efter specifikke ord eller koder, der ofte anvendes i hackingforsøg, som SQL-injektioner.
Sikkerhedsrespons
Hvis der findes mistænkelige mønstre i URL’en, vil følgende kodelinjer reagere:
@header("HTTP/1.1 414 Request-URI Too Long");
og de efterfølgendeheader
kald sender en HTTP-statuskode tilbage til brugerens browser og informerer om, at forespørgslen er for lang.@exit;
stopper al videre udførelse af scriptet for at forhindre potentiel skade.
Sammenfatning og best practice
Dette snippet er et eksempel på, hvordan enkle sikkerhedsmekanismer kan implementeres for at beskytte dit WordPress-site. Det demonstrerer vigtigheden af proaktivt at overvåge og reagere på potentielle sikkerhedstrusler.
Det er vigtigt at huske, at selvom denne kode tilbyder en vis beskyttelse, bør den ikke stå alene. Den bør være en del af en omfattende sikkerhedsstrategi, som inkluderer regelmæssige opdateringer, sikkerhedskopier og brug af pålidelige sikkerhedsplugins.
Sikkerheden på din hjemmeside er en løbende proces, og det er altid en god idé at søge professionel rådgivning, hvis du er usikker.