Come usare la funzione mysqli_real_escape_string

Come usare la funzione mysqli_real_escape_string
A mysqli_real_escape_string è una funzione integrata del PHP che viene utilizzata per controllare i caratteri indesiderati e pericolosi. In questo articolo, discuteremo con l'aiuto di un esempio qual è la funzione mysqli_real_escape_string e come può essere utilizzato per la protezione del database.

Cos'è un mysqli_real_escape_string

Per definizione, mysqli_real_escape_string () consente ai caratteri speciali in una stringa di sfuggire al database mediante la query SQL, tenendo conto del set di caratteri correnti della connessione stabilita. In parole semplici, questa funzione consente ai caratteri speciali di essere considerati come parte della stringa e salvati nel database come stringa. Gli hacker usano principalmente personaggi speciali come ?,',^,%, e !, Per hackerare il database o abusare dei dati di un database, per evitare questo atto, questa funzione viene utilizzata che costringe il PHP a essere considerato solo come stringa. La sintassi generale di questa funzione è come:

mysqli_real_escape_string (Connection_variable, String_variable)

Nella sintassi generale, Connection_variable è il risultato della funzione mysqli_connect () memorizzata in qualsiasi variabile e String_variable è la variabile che dovrebbe passare attraverso questa funzione per sfuggire ai personaggi. Ad esempio, creiamo un codice di PHP in cui prima stabiliamo la connessione del PHP con il database utilizzando la funzione, mysqli_connect () con i parametri di localhost; Il database è sulla stessa macchina, nome utente; Maadi, password; QWER1234 e nome del database; Organizzazione. Quindi abbiamo applicato la condizione IF-ELSE, per verificare se la connessione viene stabilita correttamente o meno utilizzando una funzione, mysqli_real_escape_string (Connection_variable, String_variable). Dopo aver assicurato l'istituzione riuscita della connessione, dichiareremo la variabile, denominata, firstname, e assegniamo qualche stringa che include un carattere speciale e quindi inserirla nel database Linuxhint.

// stabilimento di connessione con databas
$ Connection = mysqli_connect ("localhost", "maadi", "organizzazione");
// Controllo dello stato della connessione
if (mysqli_connect_errno ())
echo "non è riuscito a connettersi a mysql:" .mysqli_connect_error ();
Uscita();

// Dichiara variabile
$ FirstName2 = "John'o Alexander";
// Inserimento nel database
$ sql = "insert in linuxhint (emp_name) valori ('$ firstname2')");
// Esecuzione delle query MySQL
$ r = mysqli_query ($ connection, "Insert in LinuxHint Values ​​('FirstName2')");
Se(!$ r)
print ("Errore si è verificato \ n");

altro
print ("Record inserito correttamente \ n");

// Connessione chiusa
mysqli_close ($ connection);
?>

L'output di questo codice dovrebbe essere un errore perché la stringa contiene il carattere speciale "tra esso. Per controllare l'output, aprire il terminale in Ubuntu ed eseguire questo file PHP utilizzando il comando di PHP con il nome del file in cui il codice viene salvato.

$ php file1.PHP

Si è verificato l'errore, per correggere questo errore, useremo il mysqli_real_escape_string () e salveremo la stringa nel database.

// stabilimento di connessione con databas
$ Connection = mysqli_connect ("localhost", "maadi", "organizzazione");
// Controllo dello stato della connessione
if (mysqli_connect_errno ())
echo "non è riuscito a connettersi a mysql:" .mysqli_connect_error ();
Uscita();

// Dichiara variabile
$ FirstName2 = "John'o Alexander";
// passa da mysqli_real_escape_string ()
$ firstName = mysqli_real_escape_string ($ connection, $ firstName2);
// Inserimento nel database
$ sql = "insert in linuxhint (emp_name) valori ('$ firstName')");
// Esecuzione delle query MySQL
$ r = mysqli_query ($ connection, "Insert in LinuxHint Values ​​('FirstName')");
Se(!$ r)
print ("Errore si è verificato \ n");

altro
print ("Record inserito correttamente \ n");

// Connessione chiusa
mysqli_close ($ connection);
?>

Esegui nuovamente il file nel terminale.

$ php file1.PHP

L'output ha successo. Per verificarlo andremo su MySQL ed eseguire il comando seguente per verificare se la stringa viene inserita nel database o no.

Seleziona * da Linuxhint;

Conclusione

Per proteggere i file è una preoccupazione precedente di tutti in quanto possono includere alcuni dati riservati. Principalmente nell'hacking, i caratteri speciali vengono utilizzati per connettersi con il database per recuperare i suoi dati per usi non etici. Per evitare ciò possiamo inserire una varietà di controlli di sicurezza sui dati prima che vengano inseriti nel database. In questo articolo, abbiamo discusso di una delle funzioni integrate di PHP che viene utilizzata per garantire la sicurezza in modo tale che nessun caratteri speciali interagiscono nel database per danneggiarlo. Invece che questa funzione l'ha considerata una stringa normale e ha inserito la stringa nel database.