Phpcon2009 Php e Sicurezza

download Phpcon2009 Php e Sicurezza

If you can't read please download the document

Transcript of Phpcon2009 Php e Sicurezza

Folie 1

PHP e sicurezza

Roma, 19 marzo 2009Massimiliano Arione

Sull'autore

Sviluppatore PHP dal 2001

Esperienza pluriennale in una importante web agency, ora freelance

PHP5 Zend Certified Engineer

PHP e sicurezza - Massimiliano Arione

PHP e sicurezza - Massimiliano ArioneLa sicurezza

Caratteristica vs. misura

Ricetta vs. strategie

Fiducia nel sistema vs. responsabilit

Fiducia nell'utente vs. sfiducia nell'utente

Le due strategie fondamentali

FILTER INPUT

ESCAPE OUTPUT

PHP e sicurezza - Massimiliano Arione

Input: che cos'?

$_GET, $_POST, $_REQUEST

$_COOKIE, $_SESSION

$_SERVER

PHP e sicurezza - Massimiliano Arione

Filtri basilari di una form - 1

Username: Password: Country: Italy France Germany

PHP e sicurezza - Massimiliano Arione

Filtri basilari di una form - 2

$clean = array();if (ctype_alpha($_POST['username'])){ $clean['username'] = $_POST['username'];}if (ctype_alnum($_POST['password'])){ $clean['password'] = $_POST['password'];}if (in_array($_POST['country'], $countries){ $clean['country'] = $_POST['country'];}

PHP e sicurezza - Massimiliano Arione

Cross-Site Request Forgery (CSRF)

Sfrutta la fiducia dell'applicazione nell'utente

PHP e sicurezza - Massimiliano Arione

Protezione da CSRF

$token = md5(uniqid(rand(), true));$_SESSION['token'] = $token;