Jak zabezpieczyc sie przed SQL injection ?

0

Witam.
Zrobilem na stronie kilka formularzy, pola do wpisywania loginu hasla itd.

  1. Jakie funkcje dac w php zeby wpisany tekst ktory zapisujemy do bazy
    byl zabezpieczony przed znaczkami typu ' > < " itd ?

  2. Jaki zestaw funkcji potrzebny jest do odczytu z bazy tych danych
    ktore beda zapisane poprzez funkcje zabezpieczajce

czyli jak ktos wpisze '' OR pass = "" a w bazie bedzie wygladac to
\'\' or pass = \"\" to zeby przy odczycie pokazal wpis orginalnyu
a nie ten z backsleszami ?

0

użyj tej funkcji :) :

mysql_escape_strings($POST['dane_z_pola_w_twoim_formularzu'];
0

Dzieki na Twoj wzor znalazlem pg_escape_string bo uzywam postgresa ale zaraz potestuje to co wchodzi do bazy i jak to wyjac zeby bylo good :) dzieki

0

Zrobilem formularz w ktorym wpisuje tak: '' " > < d; "
a na wyjsciu echo dla $_POST['password'] mam wynik: \'\' \" > < d; \"
ale nie uzywalem zadnej funkcji escape string to chyba juz nie musze nic dodawac skoro samo sie zamienia ?
ale jak np mam formularz wktorym wpisuje ktos:
test ' kkfowkeof
ale dodatkowo sa pola ktore trzeba wypelni a uzytkownik nie wypelni
to jak strona zwraca wpis uzytkownika to mam potem
test \' kkfowkeof
i im wiecej wysylam tym wiecej znaczkow \\ mam
to jest jakas funkcja co to usuwa przy czy mam zrobic str replace ?

0

To pewnie słynne magic_quotes, takie narzędzie co automatycznie dodaje backslashe przed apostrofami i takimi tam. Wyłącz to i zrób po swojemu. I tak w ogóle użyj PDO i parametrów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0