PHP: risolvere il problema dei tentativi di accesso da remoto al carrello di un e-commerce

Non esiste un metodo assolutamente sicuro per evitare che un form di un carrello di un e-commerce in PHP venga inviato da remoto. Esiste invece una pratica raccomandata che possiamo seguire.

PHP di Gabriele Romanato

Non esiste un metodo assolutamente sicuro per evitare che un form di un carrello di un e-commerce in PHP venga inviato da remoto. Esiste invece una pratica raccomandata che possiamo seguire.

Per prima cosa definiamo la nostra stringa di salt:


<?php
define('SALT', 'stringa');
?>

Quindi creiamo un token usando la stringa di salt e il timestamp corrente che andremo a memorizzare in una variabile di sessione:


<?php
$_SESSION['salt_time'] = time();
$token = md5(SALT . $_SESSION['salt_time']);
?>

<input type="hidden" name="nonce" value="<?php echo $token; ?>">

Infine validiamo il token:


<?php
if(isset($_POST['nonce'])) {
	if($_POST['nonce'] == md5(SALT . $_SESSION['salt_time'])) {
		// Valido
	}
}
?>

Commenti