Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] walidacja danych do bazy
hhg
post
Post #1





Grupa: Zarejestrowani
Postów: 316
Pomógł: 0
Dołączył: 5.07.2006

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


czy przy wprowadzaniu danych do bazy ta funkcja:

  1. <?php
  2. protected function EscapeData ($data) {
  3. global $db;
  4. if (ini_get('magic_quotes_gpc')) {
  5. $data = stripslashes($data);
  6. }
  7.  
  8. return $db->real_escape_string($data);
  9. }
  10. ?>


powinna miec tam gdzie jest stripslashes czy moze addslashes?
Go to the top of the page
+Quote Post
barat
post
Post #2





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


stripslashes smile.gif

Ta funkcja sprawdza, czy jest włączone magic_quotes , i jeśli jest, to usuwa slashe które normalnie magic quotes dodają smile.gif
Go to the top of the page
+Quote Post
hhg
post
Post #3





Grupa: Zarejestrowani
Postów: 316
Pomógł: 0
Dołączył: 5.07.2006

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


aha dzieki smile.gif

w takim razie jezeli $data jest wartoscia z formularza trafiajaca do bazy to skrypt:

  1. <?php 
  2. protected function EscapeData ($data) {
  3. global $db;
  4. if (ini_get('magic_quotes_gpc')) {
  5. $data = stripslashes($data);
  6. }
  7.  
  8. $data = $db->real_escape_string($data);
  9. $data = htmlspecialchars($data);
  10. $data = strip_tags($data);
  11.  
  12. return $data;
  13. }
  14. ?>

jest wystarczajacym zabezpieczeniem danych trafiajacych do bazy z formularza? moze cos tam jest zbedne lub zle?
Go to the top of the page
+Quote Post
barat
post
Post #4





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


przy zapytaniu SQL masz string ($data) wzięty w pojedyncze cudzysłowy ? (w którejś książce też wyczytałem, ze to jakoś zabezpiecza ...)

  1. <?php
  2. $query = "SELECT * FROM tabela WHERE kolumna = '$data'";
  3. ?>


Mi się wydaje, że chyba dobrze zabezpieczyłeś smile.gif

Zniwelowałeś działanie magic_quotes (które już wiele serwerów wyłączyło z powodów bezpieczeństwa), potem real_escape ...


PS. zmienne globalne nie są zbyt bezpieczne (podobno...)

Ten post edytował barat 15.08.2007, 23:42:40
Go to the top of the page
+Quote Post
hhg
post
Post #5





Grupa: Zarejestrowani
Postów: 316
Pomógł: 0
Dołączył: 5.07.2006

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


ok dzieki, czyli te wszystkie funkcje przez ktore przechodzi $data są niezbędne/do czegoś się przydadzą...

Ten post edytował hhg 15.08.2007, 23:57:05
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 19:53