Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> działanie funkcji (filtra)
szczypior
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 5.02.2007

Ostrzeżenie: (0%)
-----


Witam

Napisałem do formularza funkcje mającą na celu zabezpieczenie bazy przed atakami sqlinjection:

  1. <?php
  2. function sprawdz($dane)
  3. {
  4. {
  5. $dane = mysql_real_escape_string($dane);
  6. $dane = addslashes ($dane);
  7. $dane = htmlspecialchars($dane, ENT_QUOTES);
  8. }
  9. return $dane;
  10. }
  11. ?>


dane do sprawdzenia wprowadzane są tak:
  1. <?php
  2. $login = sprawdz($_POST[login]);
  3. $pass = sprawdz($_POST[pass]);
  4. ?>


Po wpisaniu do formularza danych:
Cytat
<a href="bla">asd</a>
i
Cytat
'"/\ <>()
nie uległy one żadnej zmianie i w identycznej formie widoczne są bazie otworzonej w phpmyadmin

W czym może być problem?

PS. Czy połączenie tych trzech filtrów jest ok? Nie przekombinowałem? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował szczypior 13.07.2007, 23:44:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
flv
post
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

Ostrzeżenie: (0%)
-----


Stosowanie addslashes i mysql_real_escape_string jednocześnie nie zabezpieczy cie przed niczym. Wyescape'uje niebezpieczny tekst podwójnie, a jak wiadomo podwójny backslash oznacza tyle co zwykły znak '\', co za tym idzie do niebezpiecznego znaku doda się tylko backslash traktowany jako zwykły znak.

Ten post edytował flv 14.07.2007, 14:00:31
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 13:10