Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]zabezpieczenie zmiennych, addslashes
Mlodycompany
post
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam. Otóż rozkminiam sprawe dotyczącą funkcji addslashes. Zastanawiam się czy można filtrować całą tablice czyli np. addslashes($_POST); czy trzeba rozdzielać każdy element czyli np. addslashes($_POST['post']); Co na ten temat sądzicie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mhw
post
Post #2





Grupa: Zarejestrowani
Postów: 43
Pomógł: 10
Dołączył: 3.08.2009

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


Wydaję mi się, że addslashes nie działa na tablicach, tylko jako parametr przyjmuje string, ale mogę się mylić...
Go to the top of the page
+Quote Post
Zyx
post
Post #3





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Geniuszu drogi, to co piszesz, jest niestety wbudowane w PHP, zwie się magic quotes i jest jednym z najbardziej kretyńskich wynalazków w dziejach tego języka. Ochroną przed SQL Injection powinna się zajmować warstwa bazy danych, a nie magiczny filtr, który konwertuje wszystko bez patrzenia, czy dana informacja w ogóle trafia do bazy danych... popatrz sobie na PDO, jak to powinno być zrobione i wybij sobie z głowy filtrowanie całej tablicy.

PS. Jaki jest problem sprawdzić w dokumentacji, jakie argumenty akceptuje dana funkcja?
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Zyx @ 8.01.2010, 19:36:06 ) *
Geniuszu drogi, to co piszesz, jest niestety wbudowane w PHP, zwie się magic quotes i jest jednym z najbardziej kretyńskich wynalazków w dziejach tego języka.

I nie poleca się jej używać.

Co do tematu, można np. tak:

  1. <?php
  2.  
  3. $tablica = array('te\st', 'sd"\fsd');
  4.  
  5. function addslash(&$value) {
  6. $value = addslashes($value);
  7. }
  8.  
  9. array_walk($tablica, 'addslash');
  10. print_r($tablica);
  11.  
  12. ?>
Go to the top of the page
+Quote Post
Meares
post
Post #5





Grupa: Zarejestrowani
Postów: 102
Pomógł: 13
Dołączył: 16.10.2009
Skąd: Łódź

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


Można też tak:
  1. function array_addslashes($InArray) {
  2. foreach($InArray as $key => $value) $OutArray[$key] = addslashes($value);
  3. return $OutArray;
  4. }
  5.  
  6. $MojaTablica = array('a', 'b', 'c');
  7. $Mojatablica2 = array_addslashes($MojaTablica);
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Tylko po co skoro masz gotową funkcję do tego? I zapewniam, że będzie działała szybciej niż pętla.
Go to the top of the page
+Quote Post

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: 4.10.2025 - 01:53