Gennaio 10, 2025

addslashes() in PHP: Cos’è e A Cosa Serve?

Introduzione

La funzione addslashes() in PHP è uno strumento utile quando si lavora con stringhe che devono essere inserite in un database o passate attraverso query SQL. Questa funzione aggiunge una barra rovesciata davanti a caratteri speciali come apici singoli (‘), apici doppi (“), backslash (\) e caratteri NULL. Questo è importante per prevenire errori di sintassi e potenziali vulnerabilità SQL injection.

Spiegazione

La funzione addslashes() è progettata per preparare una stringa per un utilizzo più sicuro all’interno di un database o in altri contesti in cui i caratteri speciali possono causare problemi. Quando si inseriscono dati in un database, è necessario assicurarsi che i caratteri speciali non interrompano la sintassi della query SQL. Questo viene fatto aggiungendo una barra rovesciata (\) davanti a questi caratteri, un processo noto come “escaping”.

Quando si utilizza

Utilizzare addslashes() principalmente quando si gestiscono stringhe che verranno inserite in un database attraverso query SQL. È particolarmente utile quando i dati provengono da input dell’utente, poiché questi possono contenere caratteri che potrebbero interferire con le istruzioni SQL. Tuttavia, è importante notare che addslashes() non è una soluzione completa per proteggersi dagli attacchi SQL injection. L’uso di prepared statements o PDO (PHP Data Objects) con parametri legati è il metodo consigliato per evitare tali vulnerabilità.

Esempi

Ecco alcuni esempi di come utilizzare la funzione addslashes():

<?php
// Stringa originale
$stringa = "John's car";

// Utilizzo di addslashes()
$stringa_escapata = addslashes($stringa);

// Risultato: John\'s car
echo $stringa_escapata;
?>

In questo esempio, la stringa originale John's car contiene un apice singolo che potrebbe causare problemi in una query SQL. La funzione addslashes() aggiunge una barra rovesciata davanti all’apice, rendendo la stringa sicura per l’inserimento nel database.

<?php
// Stringa con più caratteri speciali
$stringa = 'He said, "It\'s a beautiful day!"';

// Utilizzo di addslashes()
$stringa_escapata = addslashes($stringa);

// Risultato: He said, \"It\'s a beautiful day!\"
echo $stringa_escapata;
?>

In questo secondo esempio, la stringa contiene apici singoli e doppi. La funzione addslashes() li escapa tutti correttamente, permettendo di utilizzare la stringa in un contesto SQL senza problemi.

Giorgio

Sono un Web Developer con oltre 20 anni di esperienza nello sviluppo di applicazioni web complesse. Specializzato in PHP, gestione di database relazionali e non relazionali, e integrazione di API, realizzo soluzioni robuste e scalabili per soddisfare esigenze aziendali e tecniche. Mi occupo di architetture server-side, ottimizzazione delle performance e automazione dei processi.