Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][PHP]Zabezpieczeni
Forum PHP.pl > Forum > Przedszkole
Randallmaster
W jaki sposób najlepiej zabezpieczyć pola input przed wpisywaniem kodów html czy też java script?
SmokAnalog
A po co chcesz zabezpieczać pola przed wpisywaniem czegokolwiek? Nie lepiej zabezpieczyć wyjście przed interpretowaniem tego kodu?
Randallmaster
htmlspecialchars() wystarczy?
Pyton_000
strip_tags
SmokAnalog
Pyton, ja jestem przeciwnikiem JAKIEJKOLWIEK ingerencji w treść od użytkownika, oczywiście poza cenzurą. Dlaczego mamy zakazać komuś napisać np. <LOL> albo "Lubię tag <script>!"?

Tak, htmlspecialchars to dobry wybór i wystarczy. Zalecam użyć tego dopiero przy wyświetlaniu, a nie zapisywaniu.
ZaXaZ
ja nie polecam strip_tags, mialem problem z wyslaniem "<3" tongue.gif
nospor
Bo wszystko zalezy od tego, czym dane pole bedzie.
Jak pole ma byc np. loginem, to nie ma sensu pozwalac na tagi i mozna spokojnie uzywac strip_tags przed zapisem do bazy.
Zas gdy pole ma byc wiadomością w czacie (tu uklon do ZaXaZ) to raczej pozwalamy na tagi, bo ludzie chcą czasem podac kod czy durną emotke.

Niezależnie od tego czy uzywamy strip_tags czy nie to htmlspecialchars jest dobrym nawykiem (procz sytuacji, gdy zezwalamy na pelny kod html)
redeemer
htmlspecialchars lub htmlentities należy używać z flagą ENT_QUOTES.
SmokAnalog
Nospor, a jaki jest niby sens strip_tags w polu z loginem? Login powinno się najpierw dokładnie przebadać i zakazać dziwnych znaków. A jak ich nie ma (w tym przypadku nawiasów kątowych), to używanie strip_tags nie ma najmniejszego sensu.
nospor
No jesli masz porządny walidator to tak, strip_tags nie ma sensu.

Pole login to byl przyklad smile.gif
SmokAnalog
Nawet bez walidatora to nie ma sensu. Ktoś wpisuje w polu login wartość "kala<script>fior" to zakładamy, że się pomylił i chodziło mu o "kalafior"? tongue.gif
nospor
Tak, jak nie masz walidatora to pozbywasz sie smieci przez strip_tags, bo po grzyba mają sie wpisywac do bazy?

SmokAnalog
Jak nie masz walidatora loginu to jesteś idiotą, a nie używasz strip_tags.
nospor
Jak nie czytasz ze zrozumieniem to jestes idiotą
Cytat
No jesli masz porządny walidator to tak, strip_tags nie ma sensu.


Poraz kolejny pisze:
LOGIN to byl tylko przyklad. Fakt, moze nieszczesnie dobrany.
Zdarzają sie pola, gdy nie potrzba walidatora, gdyz ogolnie wpuszczamy wszystko. Nie chcemy jednak jako tako tagow, wiec robimy strip_tags oraz robimy htmlspecialchars tak czy siak.
SmokAnalog
Cytat(nospor @ 4.08.2014, 15:41:13 ) *
Nie chcemy jednak jako tako tagow

Tylko jakie jest tego logiczne wytłumaczenie? Dlaczego wywalamy komuś z jego wypocin fragmenty między < i >? Dlaczego więc nie wywalamy kodu C++ albo Asemblera?

Funkcja strip_tags nie służy i nigdy nie służyła do oczyszczania wpisów od użytkowników. Służy do WYŁUSKANIA czystego tekstu ze stringa będącego kodem HTML.
nospor
Dlaczego? Poniewaz ktos w danym miejscu tak chce. Jego serwis, jego prawo.
SmokAnalog
Aha.
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.