Cóż, jest jedno poważne nieporozumienie.
mysql_real_escape_string() nie oczyść wszystko. Nie ma to w ogóle nic wspólnego z bezpieczeństwem.
Ta funkcja służy tylko do ucieczki od ograniczników i nic więcej. Może pomóc w umieszczeniu danych łańcuchowych w zapytaniu SQL — to wszystko.
Tak więc każdy ciąg, który zamierzasz umieścić w zapytaniu (w cudzysłowie), musisz przygotować za pomocą tej funkcji. We wszystkich innych przypadkach byłoby to bezużyteczne, a nawet szkodliwe.
Tak więc,
z tego nieporozumienia, popełniasz tutaj 2 główne błędy:
- używasz tej funkcji nie z danymi, które faktycznie trafiają do zapytania
- możesz zepsuć swoje hasło, dodając do niego kilka symboli, więc stanie się bezużyteczne
Na marginesie, pamiętaj, że ta funkcja powinna być zawsze używana w połączeniu z mysql_set_charset lub w inny sposób "_real_"
część tej funkcji staje się bezużyteczna