Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Przechowywanie artykułów HTML w bazie.
Forum PHP.pl > Forum > Przedszkole
!*!
Korzystam z PDO i bindowania podczas wysyłania zawartości formularza do bazy. Głównie są to całe strony/artykuły które mogą zawierać podstawowe znaczniki jak np. <b><h2><span> itp. i teraz pytanie jak je przechować, wysyłać do bazy? Używać htmlentities, htmlspecialchars i strip_tags($text, '<b><h2><span>'); przy wysyłaniu, aby zmieniał to na encje, a przy odczycie zamieniać je z powrotem na znaczniki?

Jak to rozwiązać przy PDO które z bindowaniem jest odporne na sql injection tak aby było wydajnie, bezpieczne. I jaką wartość powinno mieć pole w bazie przy dużej ilości tekstu? TXT?
Mephistofeles
Pole typu Text, nie ma sensu zamieniać HTMLa na encje tylko po to, żeby potem go odtwarzać, lepiej by było, gdybyś zrobił jakiś parser bbcode. Zawsze ktoś może przeszmuglować coś mniej podstawowego, dlatego lepiej wyłączyć całkowicie (tu możesz zamienić na encje) HTML i użyć tylko dostępnych tagów bbcode.
Dla bazy nie ma żadnego znaczenia co znajduje się w polu, natomiast jest to istotne dla użytkownika, bo możesz przez HTML np. umożliwić atak typu XSS.
!*!
NIe użyję bbcode, za dużo z tym roboty, wstawiam tekst przez js execcommands a on zamienia na encje tak jak htmlentities, przez php przepuszczam to przez strip_tags który kasuje wszytkie znaczniki prócz tych trzech... dodatkowo przepuszczę to przez paser aby do znaczników nie było można dodać osobnych właściwości.
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.