Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zakazanymi znakami HTML w komentarzach
Forum PHP.pl > Forum > Przedszkole
free
Korzystając z funkcjihtmlspecialchars" title="Zobacz w manualu php" target="_manual
  1. <?php
  2. $tytul=htmlspecialchars($_POST['tytul']);
  3. $txt=nl2br(htmlspecialchars($_POST['tresc']));
  4. ?>

Zabraniam userom uzywania znaków HTML w komentarzach.
Funkcja nl2br łamie mi ładnie linie i user nie musi uzywac <br />
Jednak podczas edycji danych po uzyciu funkcji htmlspecialchars Zamiast wstawionego przez system nowego wiersza pojawia sie komenda <br />. Jak temu zaradzic?
Najprosceij byloby w edycji komentarzy zrezygnowac z tej funkcji htmlspecialchars, tyle ze wówczas zlikwidowalbym z zapory przed niepowolanym kodem HTML.
mike
Bo tego nie zapisuje się do bazy danych w zmienionej postaci.
Funkcje, które pozwalaja iciec od tych znaków stosuje sie tylko podczas wyświetlania.
free
Wiec do bazy mam zapisywac wszystko a dopiero przy pobieraniu dancyh z bazy i wyswietlaniu mam zastosowac tę funkcję ?Brzmi logicznie ale czy to aby bezpieczne ?
mike
1. Użytkownik wpisuje coś do formularza.
2. Zapisujesz to do bazy, bez ingerencji żadnymi funkcjami typu htmlspecialchars(). (pomijam problem SQL Injection)
3. Przy wyświetlaniu tego co pobierasz z bazy juz stosujesz htmlspecialchars()
4. Kiedy edytujesz to przecież też wyświetlasz więc patrz pkt. 3.
5. Po edycji zapisujesz do bazy, patrz pkt. 1

Cytat
Brzmi logicznie ale czy to aby bezpieczne ?

Chyba nie martwisz się że ktoś Ci za pomoce JavaScriptu rozwali bazę tongue.gif
free
Sprawdziłem przed chwilą na serwerze i działa OK :-)
Dzieki za podpowiedź !

PS
Jak sie ma sprawa z problem SQL Injection /bo wlasnie to mialem pierwotnie na mysli/
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.