![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
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? -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
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.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 22:49 |