Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Rejestracja - specjalne znaki
Forum PHP.pl > Forum > Przedszkole
Konop857
Witam
Podpowie mi ktoś co zrobić aby przy rejestracji nie można było użyć znaków specjalnych typu ,,< " -" itp

Mam już zastosowane że bez spacjii ale jednak mój kolega pokazał mi jak łatwo włamać się na mój serwis właśnie dzięki tym specjalnym znakom.
Jak się ich pozbyć?

Proszę o pomoc!
potreb
Możesz zastosować np wyrażenia regularne, które wymuszą używanie tylko liter, liczb i niektórych znaków specjalnych. To jest wg mnie najlepsze rozwiązanie. Oczywiście możesz czyścić wyrażenia przez htmlspecialchars, strip_tags.
bastard13
preg_match() + trim() + strip_tags() to taki sprytny tercet często używany przy walidacji.
Dodatkowo taka mała rada dotycząca walidacji. Lepiej jest określ znaki, z których może się składać ciąg niż te, których nie powinien zawierać. Jest to odrobinę bezpieczniejsze, bo w takim wypadku puszczasz tylko te znaki, które chcesz, a w przypadku blokowania niechcianych, zawsze możesz o jakimś zapomnieć.
Konop857
Ze względu że jestem początkującym mało rozumiem.
W register.php mam takie cudo:
  1. $konto = mysql_real_escape_string (trim($_POST['login']));

Mógłby mi to ktoś przerobić tak aby przy rejestracji,gdy ktoś użyje znaków typu <">!'/\ to po prostu je ignoruje.
Mam na myśli jeżeli ktoś wpisze !<Jar'e'k to wyczyści znaki specjalne i zostanie Jarek.
Bardzo proszę o pomoc
bastard13
http://www.php.net/manual/en/function.str-replace.php
lub
http://www.php.net/manual/en/function.preg-replace.php
ale w Twoim przypadku wystarczy pierwsza.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.