Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Filtrowanie
kleszczoscisk
post
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

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


Witam i proszę o poradę.
Na stronie, po zalogowaniu użytkownik dodaje treści, między innymi tytuł swojej publikacji. Wiecznym problemem są ludzie, którzy wpisują mimo próśb wszystkie możliwe rodzaje cudzysłowów, myślników i innych znaków. Moje pytanie brzmi: czy jest jakaś fajna uniwersalna funkcja filtrująca dane z formularza przed dodaniem do MySQL pod kątem niepożądanych znaków (spoza a-ząćęłńóśźżA-ZĄĆĘŁŃÓŚŹŻ0-9) jak i bezpieczeństwa ?
Póki co robię tak:
  1. if (isset($_POST['tytul'])) {
  2. $tytul = trim($_POST['tytul']);
  3. $tytul = str_replace('-','–',$tytul);
  4. $tytul = str_replace("'","’",$tytul);
  5. $tytul = mysql_real_escape_string($tytul);
  6. }

Słabo to działa ponieważ zamiast cudzysłowu dostaję \\".
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kleszczoscisk
post
Post #2





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

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


oo, czadzik, dzięki...
Czyli takie filtrowanie:
  1. if (isset($_POST['tytul'])) {
  2. $tytul = mysql_real_escape_string(preg_replace("/[^a-zA-Z0-9., \s]/", "", $tytul));
  3. }

... będzie również bezpieczne przed dodaniem do bazy ?

edit: poprawione, jeszcze raz dzięki (IMG:style_emoticons/default/smile.gif)

Ten post edytował kleszczoscisk 20.03.2010, 17:43:15
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: 27.09.2025 - 13:58