Hvordan bruke mysqli_real_escape_string -funksjonen

Hvordan bruke mysqli_real_escape_string -funksjonen
En mysqli_real_escape_string er en innebygd funksjon av PHP som brukes til å kontrollere de uønskede og farlige karakterene. I denne artikkelen vil vi diskutere ved hjelp av et eksempel hva er mysqli_real_escape_string -funksjonen og hvordan den kan brukes til beskyttelse av databasen.

Hva er en mysqli_real_escape_string

Per definisjon lar mysqli_real_escape_string () spesialtegnene i en streng å slippe ut til databasen av SQL -spørringen, under hensyntagen til de gjeldende tegnene som er satt av den etablerte tilkoblingen. Med enkle ord gjør denne funksjonen spesialtegnene som kan betraktes som en del av strengen og lagret i databasen som en streng. Hackerne bruker stort sett spesialtegn som som ?,',^,%, og !, For å hacke databasen eller misbruke dataene fra en database, så for å forhindre denne loven, brukes denne funksjonen som bare tvinger PHP til å bli betraktet som strengen. Den generelle syntaks for denne funksjonen er som:

mysqli_real_escape_string (connection_variable, string_variable)

I den generelle syntaksen, Connection_Variable er resultatet av mysqli_connect () -funksjonen lagret i en hvilken som helst variabel og String_variable er variabelen som antas å passere gjennom denne funksjonen for å unnslippe tegn. For eksempel oppretter vi en kode for PHP der vi først oppretter tilkoblingen til PHP med databasen ved å bruke funksjonen, mysqli_connect () med parametrene til localhost; Databasen er på samme maskin, brukernavn; Maadi, passord; QWER1234 og navn på databasen; Organisasjon. Deretter brukte vi IF-Else-tilstanden, for å sjekke om tilkoblingen er etablert vellykket eller ikke ved å bruke en funksjon, mysqli_real_escape_string (connection_variable, string_variable). Etter å ha sikret den vellykkede etableringen av forbindelsen, vil vi erklære variabelen, navngitt, FirstName, og tilordne en streng som inkluderer noe spesielt tegn og deretter sette den inn i databasen Linuxhint.

// Etablering av forbindelse med databas
$ tilkobling = mysqli_connect ("localhost", "maadi", "organisasjon");
// Kontroller status for tilkobling
if (mysqli_connect_errno ())
Echo "klarte ikke å koble til MySQL:" .mysqli_connect_error ();
exit();

// erklære variabel
$ FirstName2 = "John'o Alexander";
// Sett inn i databasen
$ sql = "sett inn i linuxhint (emp_name) verdier ('$ firstname2')");
// utførelse av MySQL -spørsmål
$ r = mysqli_query ($ tilkobling, "sett inn i LinuxHint Values ​​('FirstName2')");
hvis(!$ r)
print ("feil oppstod \ n");

ellers
print ("Record satt inn vellykket \ n");

// tilkoblingen stengt
mysqli_close ($ tilkobling);
?>

Utgangen til denne koden skal være en feil fordi strengen inneholder det spesielle tegnet mellom den. For å sjekke utdataene, åpne terminalen i Ubuntu og kjør denne PHP -filen ved å bruke kommandoen til PHP med filnavnet som koden er lagret.

$ PHP File1.PHP

Feilen har oppstått, for å rette opp denne feilen, vil vi bruke mysqli_real_escape_string () og lagre strengen i databasen.

// Etablering av forbindelse med databas
$ tilkobling = mysqli_connect ("localhost", "maadi", "organisasjon");
// Kontroller status for tilkobling
if (mysqli_connect_errno ())
Echo "klarte ikke å koble til MySQL:" .mysqli_connect_error ();
exit();

// erklære variabel
$ FirstName2 = "John'o Alexander";
// pass fra mysqli_real_escape_string ()
$ firstName = mysqli_real_escape_string ($ connection, $ firstname2);
// Sett inn i databasen
$ SQL = "Sett inn i LinuxHint (emp_name) verdier ('$ firstName')");
// utførelse av MySQL -spørsmål
$ r = mysqli_query ($ tilkobling, "sett inn LinuxHint Values ​​('FirstName')");
hvis(!$ r)
print ("feil oppstod \ n");

ellers
print ("Record satt inn vellykket \ n");

// tilkoblingen stengt
mysqli_close ($ tilkobling);
?>

Kjør igjen filen i terminalen.

$ PHP File1.PHP

Utgangen er vellykket. For å bekrefte det vil vi gå til MySQL og kjøre følgende kommando for å sjekke om strengen er satt inn i databasen eller ikke.

Velg * fra Linuxhint;

Konklusjon

For å sikre filene er en tidligere bekymring for alle, da de kan inkludere noen konfidensielle data. Stort sett i hacking brukes spesialtegnene til å koble til databasen for å hente dataene for uetisk bruk. For å forhindre dette kan vi legge en rekke sikkerhetskontroller på dataene før den settes inn i databasen. I denne artikkelen har vi diskutert en av de innebygde funksjonene til PHP som brukes til å sikre sikkerhet på en måte som ingen spesialtegn samhandler i databasen for å skade den. I stedet for denne funksjonen betraktet den som en normal streng og satte inn strengen i databasen.