2009-05-08 8 views
6

Czy ktoś może polecić aktualną bibliotekę do sanityzacji danych w PHP?Dezaktywacja danych w PHP

Szukam biblioteki, która proponuje zestaw funkcji do sanityzacji danych. Walidacja Email/dezynfekcja (usunąć te% 0A, \ r ...), taśmy HTLM (stripslashes (htmlentities), usunąć skrypt, SQL injection ... żadnej formy exploit związany z danych przedstawionych przez użytkowników.

CakePHP klasę sanitization (nie "ramy") ładnie wygląda ..?

+0

Proszę określić „sanitization dane ". Czy chcesz usunąć encje html, tylko potencjalne ataki xss lub ataki sql injection? – rick

+0

Przeformułowałem pytanie. –

Odpowiedz

6

Wyjazd PHP Filter

+2

Lub bezpośrednio oficjalny ręczny wpis filtrowania danych PHP: http://www.php.net/filter –

0

CakePHP jest frameworkiem, a nie biblioteką urządzeń sanitarnych.

to chyba łatwiej jest po prostu pisać własne funkcje sanitization.

+0

Użyłem tylko pliku sanitize.php. –

+0

Dość uczciwe, nie podążyłem za linkiem. –

0

Nie ma czegoś takiego jak sanityzacja danych. Dane same w sobie nie są niebezpieczne - to kontekst, w którym jest używany, sprawia, że ​​jest bezpieczny lub niebezpieczny. Oznacza to, że nie ma sensu próbować sprawdzania/dezynfekcji danych przy wprowadzaniu. Zamiast tego powinien on uciec właściwie na wyjściu. Zobacz także mój answer here.

+0

Jeśli chcesz zezwolić na znaczniki wejściowe, ale nie chcesz ataków xss, nie ma sensu sprawdzanie poprawności/dezynfekcji danych przy wpisie. Dlaczego miałbyś przechowywać niebezpieczne dane wejściowe? – rick

+0

Uważam, że przypadku krawędzi i użyłbym HtmlPurifier do tego. – troelskn

0
$firstName = $_POST['fname']; 
$new_string = filter_var($firstName, FILTER_SANITIZE_STRING); 
echo $new_string; 
+0

Filtry PHP zostały już opublikowane jako odpowiedź. – kapa