Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Funckja filtrująca
loczek111
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.03.2018

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


Witam serdecznie,
Przy wprowadzaniu danych do bazy korzystam z funkcji która filtruje mi zmienne. Problem polega na tym że gdy wprowadzam zmienne tekstowe o długości większej niż 2000 znaków funkcja nic nie wypluwa.
Po zakomentowaniu linijki //$zmienna = stripslashes($zmienna); ograniczenie znika (opiera się wtedy na if'ie). Dodatkowo dziwi mnie że nie ważne czy w if'ie nad tą linijką wpisze true czy false (na sztywno) to nic nie zmienia, tylko komentarz albo wywalenie tej linijki pomaga
Co tu się dzieje o czym nie wiem i dlaczego tak?
  1. function filtruj($zmienna)
  2. {
  3. require "config.php";
  4. $zmienna = stripslashes($zmienna);
  5.  
  6. if(strlen($zmienna)>2500)
  7. {header('Location: '.$_SERVER["HTTP_REFERER"]); exit();}
  8.  
  9. return mysqli_real_escape_string($mysqli, htmlspecialchars(trim($zmienna)));
  10. }
Go to the top of the page
+Quote Post
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Używaj prepared statements a nie jakieś pseudo funkcje sprzed 10 lat.
Go to the top of the page
+Quote Post
loczek111
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.03.2018

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


Przy użyciu prepare statements powinienem się jeszcze jakoś zabezpieczać na inne sposoby? Czy jest to już wystarczająca ochrona?
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Standardowo np przy wyświetlaniu przeciw xss.
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: 24.08.2025 - 07:18