Siden den bruker PDO til databasebehandling er den i alle fall sikret mot SQL-Injections. Om du skal videreutvikle koden selv, med egne spørringer, er det viktig at du benytter deg av mysql_real_escape_string() eller PDOs egne metoder for å vaske input. (I execute(), bindParam(), quote() bl.a.) (Google for mer info).
I forhold til XSS har jeg ikke sett så veldig godt igjennom koden, men fant i alle fall èn risiko. I formene kaller den på currentPage() for å skrive ut adressen for bruk i [form action="<url>"].
Kode
<?php
public function currentPage() {
/* Current Page */
$currentPage = 'http';
if(isset($_SERVER["HTTPS"]) == "on") {$currentPage .= "s";}
$currentPage .= "://";
$currentPage .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
return $currentPage;
}
?>
Som du ser over, skrives $_SERVER-variablene ut slik de er. Her kan bruker sende inn egne koder som kan være skadelige.
Står mer om det her.
Dette kan enkelt løses ved å legge htmlspecialchars rundt variablene. Ha i bakhodet at ALL data som kan manipuleres av bruker skal igjennom denne funksjonen. Ellers kan man sende inn egne koder/javascript som vises på siden.
Edit: Med det sagt, er jo koden et rot uten like. HTML-koder ligger spredt rundt over alt, som gjør det til et hodebry uten like å endre på utseende. Men det blir litt off topic.
Sist endret av ma10as; 9. juli 2012 kl. 17:23.