Page 1298 - Informatica dalla A a Z
P. 1298
}
echo “Numero:” . $_SESSION[‘conto’].””;
?>
Con la solita funzione isset controlliamo che la variabile $_SESSION[‘conto’] non sia stata
inizializzata: se non esiste, la creiamo e la impostiamo a 0, se invece esiste già la incremen-
tiamo. Terminato il blocco if stampiamo la nostra variabile. Salviamo il file e chiamialo, per
esempio, “fix.php” e lo inseriremo nella cartella esercizi di www di wamp.
Ora apriamo il browser ed eliminiamo tutti i cookie presenti. Fatto questo colleghiamoci
alla pagina appena creata:
http://localhost/prova/fix.php?PHPSESSID=12345
Aggiorniamo la pagina un tot di volte.
Ora chiudiamo il browser e ne apriamo un altro. Noteremo che il conto non partrà da 0 ma
dal numero effettuato in precedenza con il primo browser.
Questo perché il codice malevolo ha fatto in modo che i dati di sessione inseriti dall’utente
rimangano attivi, anche dopo la sua uscita.
Per difendersi da questo tipo di attacco, il metodo più semplice è quello di far rigenerare
spesso l’id di sessione, in modo da rendere inefficaci questi tipi di attacchi, grazie all’appo-
sita funzione session_regenerate_id:
session_regenerate_id();
In genere va fatto dopo aver dato il via alla sessione con session_start.
Le espressioni regolari: sono dei particolari costrutti che si usano per verificare se all’interno
di una stringa è presente una determinata sottostringa.
Vengono, di solito, utilizzate per verificare la correttezza dei dati inseriti dall’utente.
Si utilizzano attraverso i “Metacaratteri”, ovvero dei caratteri speciali inseriti all’interno di
una espressione regolare, dotati di un significato ben preciso.
[] (parentesi quadre) Contengono una sequenza di caratteri
() (parentesi tonde) Contengono una precisa sottostringa
. (punto) Qualsiasi carattere
^ (accento
circonflesso)
Inizio di stringa o negazione
$ (dollaro) Fine della stringa
| (pipe) Operatore disgiuntivo OR
\ (backslash) Carattere di escape
Esistono poi i quantificatori, che indicano quante volte bisogna cercare un’occorrenza
all’interno della nostra stringa principale:
1294