![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
Mam pewien problem. Posiadam na stronie formularz, który jest do wypełniania przez użytkowników i podczas testów coś mnie zaniepokoiło. Po wpisaniu w pole formularza: Kod " /><script type="text/javascript"> alert("Uwaga!"); </script> i przesłaniu go na ekranie pojawia się komunikat alert o treści Uwaga!. Jak można się przed tym zabezpieczyć? Proszę o pomoc. Z góry dziękuje (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
A szukałeś już w google? Ten temat już był omawiany kilkaset razy...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
htmlspecialchars przy wyświetlaniu.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie (IMG:style_emoticons/default/smile.gif)
Podziałało. Ja miałem napisaną funkcję, ale po prostu złe dane filtrowałem. Myślę, że teraz jest ok Napotkałem jeszcze jeden problem związany z XSS, ale od strony JS, a konkretniej jQuery. Chodzi o to, że do selectów dynamicznych pobieram dane z bazy danych. I dajmy na to w bazie znajdzie się wartość: Kod <script type="text/javascript"> alert("Uwaga!"); </script> I teraz dodaje dynamicznie wartości z selectów funkcją after() w jQuery. Po dodaniu tych wartości do strony wstrzykuje się kod JS, który automatycznie pokazuje alert o treści Uwaga!. W PHP tak jak kolega wyżej podał wystarczyło htmlspecialchars, natomiast jak przefiltrować zmienne w JS? Poszukałem troszkę w google i znalazłem stronę: http://javascript-ajax.pl/2009/12/01/html-...ode-javascript/ ale nie bardzo wydaje mi się, że to coś da. Jakie są wasze opinie? Może macie jakieś pomysły jak takie coś zrobić, lub wykorzystać skrypt z powyżej podanej strony? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
pobierasz te wartości php i musisz je też nim wyświetlić, użyj htmlspecialchars
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wyświetlam je tak:
Kod $('a.add').click(function() { var category = $("#category option:selected").text(); var sub_category = $("#sub_category option:selected").text(); var sub_sub_category = $("#sub_sub_category option:selected").text(); var ilosc = $("#ilosc option:selected").text(); $(this).after('<div id="htmlspecialcharsInput"><label><br /><br /><strong>Rodzaj:</strong> '+category+' - <strong>Produkt:</strong> '+sub_category+' - <strong>Kolor:</strong> '+sub_sub_category+' - <strong>Ilość:</strong> '+ilosc+' <a href="#del" class="del">X</a><input type="hidden" name="cat[]" value="<strong>Rodzaj:</strong> '+category+' - <strong>Produkt:</strong> '+sub_category+' - <strong>Kolor:</strong> '+sub_sub_category+' - <strong>Ilość:</strong> '+ilosc+' "/></label></div>'); return false; }); Więc nie robię tego w PHP. Dopiero jak klient wyśle formularz do PHP postem to wtedy je filtruje jako PHP, ale dodawane jest dynamicznie więc jak je doda to wyrzuca alerta, bo dodał jedną z opcji, którą jest: Kod <script type="text/javascript">
alert("Uwaga!"); </script> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:35 |