Jak używać funkcji mysqli_real_escape_string

Jak używać funkcji mysqli_real_escape_string
Mysqli_real_escape_string to wbudowana funkcja PHP, która jest używana do kontrolowania niechcianych i niebezpiecznych znaków. W tym artykule omówimy za pomocą przykładu, jaka jest funkcja mysqli_real_escape_string i jak można ją użyć do ochrony bazy danych.

Co to jest mysqli_real_escape_string

Z definicji mysqli_real_escape_string () umożliwia znakom specjalnym w łańcuchu ucieczki do bazy danych przez zapytanie SQL, biorąc pod uwagę bieżący zestaw znaków ustalonego połączenia. Krótko mówiąc, ta funkcja umożliwia uznanie znaków specjalnych jako części ciągu i zapisanie w bazie danych jako ciąg. Hakerzy używają głównie znaków specjalnych, takich jak ?,',^,%i !, Do hakowania bazy danych lub niewłaściwego wykorzystania danych bazy danych, aby zapobiec tej ustawie, funkcja ta jest używana, która wymusza PHP do uznania tylko za ciąg. Ogólna składnia tej funkcji jest:

mysqli_real_escape_string (Connection_Variable, String_Variable)

W ogólnej składni, Connection_variable jest wynikiem funkcji mysqli_connect () przechowywanej w dowolnej zmiennej i String_variable to zmienna, która ma przechodzić przez tę funkcję, aby uciec przed znakami. Na przykład tworzymy kod PHP, w którym najpierw ustanawiamy połączenie PHP z bazą danych za pomocą funkcji, MySQLI_Connect () z parametrami LocalHost; Baza danych znajduje się na tym samym komputerze, nazwie użytkownika; Maadi, hasło; QWER1234 i nazwa bazy danych; Organizacja. Następnie zastosowaliśmy warunek IF-ELSE, aby sprawdzić, czy połączenie zostało ustanowione pomyślnie, czy nie, używając funkcji, MySqli_Real_escape_String (Connection_Variable, String_Variable). Po zapewnieniu udanego ustanowienia połączenia zadeklarujemy zmienną, nazwaną, pierwszą nazwą, i przypiszmy kilka ciągów, który zawiera jakiś charakter specjalny, a następnie wstaw go do bazy danych Linuxhint.

// Ustanowienie połączenia z DATABAS
$ connection = mysqli_connect („localHost”, „maadi”, „organizacja”);
// Sprawdzanie statusu połączenia
if (mysqli_connect_errno ())
Echo „Nie udało się połączyć z MySQL:” .mysqli_connect_error ();
Wyjście();

// deklaruj zmienną
$ FirstName2 = "John'o Alexander";
// wkładanie do bazy danych
$ sql = "wstaw do Linuxhint (emp_name) wartości ('$ FirstName2')");
// Wykonanie zapytań MySQL
$ r = mysqli_query ($ connection, „Wstaw do Linuxhint Wartości („ FirstName2 ') ”);
Jeśli(!$ r)
print („Wystąpił błąd \ n”);

w przeciwnym razie
print („Record włożony pomyślnie \ n”);

//połączenie zamknięte
mysqli_close ($ connection);
?>

Wyjście tego kodu powinno być błędem, ponieważ ciąg zawiera charakter specjalny „między nim. Aby sprawdzić wyjście, otwórz terminal w Ubuntu i uruchom ten plik PHP za pomocą polecenia PHP z nazwą pliku, w której kod jest zapisywany.

$ php plik 1.php

Wystąpił błąd, aby naprawić ten błąd, użyjemy mysqli_real_escape_string () i zapisamy ciąg w bazie danych.

// Ustanowienie połączenia z DATABAS
$ connection = mysqli_connect („localHost”, „maadi”, „organizacja”);
// Sprawdzanie statusu połączenia
if (mysqli_connect_errno ())
Echo „Nie udało się połączyć z MySQL:” .mysqli_connect_error ();
Wyjście();

// deklaruj zmienną
$ FirstName2 = "John'o Alexander";
// przejdź z MySQLI_Real_escape_String ()
$ FIRSTNAME = mysqli_real_escape_string ($ connection, $ FirstName2);
// wkładanie do bazy danych
$ sql = "wstaw do Linuxhint (emp_name) wartości ('$ FirstName')");
// Wykonanie zapytań MySQL
$ r = mysqli_query ($ connection, „Wstaw do Linuxhint wartości („ FirstName ”)”);
Jeśli(!$ r)
print („Wystąpił błąd \ n”);

w przeciwnym razie
print („Record włożony pomyślnie \ n”);

//połączenie zamknięte
mysqli_close ($ connection);
?>

Ponownie uruchom plik w terminalu.

$ php plik 1.php

Wyjście jest skuteczne. Aby to zweryfikować, przejdziemy do MySQL i uruchomić następujące polecenie, aby sprawdzić, czy ciąg jest wstawiony do bazy danych, czy nie.

Wybierz * z Linuxhint;

Wniosek

Aby zabezpieczyć pliki, jest wcześniejszym problemem wszystkich, ponieważ mogą zawierać pewne poufne dane. Głównie w hakowaniu znaki specjalne służą do łączenia się z bazą danych do pobierania danych do nieetycznych zastosowań. Aby temu zapobiec, możemy umieścić różne kontrole bezpieczeństwa danych przed włożeniem do bazy danych. W tym artykule omówiliśmy jedną z wbudowanych funkcji PHP, która jest używana do zapewnienia bezpieczeństwa w sposób, w jaki żadne znaki specjalne w bazie danych, aby go skrzywdzić. Zamiast tego ta funkcja uznała ją za normalny ciąg i wstawiła ciąg w bazie danych.