Wykaz postów użytkownika - phm - które otrzymały punkt za pomoc
phm | |
|
Przyznam, ?e nie do ko?ca rozumiem ide? Twojego kodu. U?ytkownik wprowadza link do formularza, Ty go pobierasz i "obrabiasz" w tagi object, itd, odpowiedzialne za prawid?owe wy?wietlenie filmu? Pytasz, czy to bezpieczne. W Twoim skrypcie nie widz? niczego, co sprawdza?oby poprawno?? wprowadzonych danych. Stosujesz stripshlashes(), które odpowiada jedynie za zabaw? slashami (znaczkami typu / ) i które stosuje si?, gdy flaga magic_quotes_gpc jest ustawiona (on). Otrzymane linki przechowujesz najprawdopodobniej w bazie danych (zgaduj?, bo z kodu to te? nie wynika). Do zabaw z wysy?anymi do bazy danych ci?gów znaków, polecam mysql_real_escape_string (w manualu przeczytasz sobie zalety tej funkcji). Chodzi o to ?e np. gdy kto? zamiast kodu filmu wpisze </td></td></td></td> to rozjedzie mi si? ca?a strona i tp. Tutaj sam odpowiedzia?e? sobie na pytanie odno?nie bezpiecze?stwa. Nie filtrujesz danych ca?kowicie poprawnie. Twój skrypt podatny jest na XSS oraz HTML Injection (i w zale?no?ci od konfiguracji serwera mo?na podpi?? jeszcze SSI Inj. ![]() Ju? t?umacz? jak to dzia?a. Kto?, zamiast linku filmu przesy?a Ci z?o?liwy kod JavaScript, b?d? nawet prost? ramk? prowadz?c? do zawirusowanej strony. Ty, niczego nie?wiadomy sprawdzasz nades?ane linki. Przegl?darka trafia na z?o?liwy kod i wykonuje go (taka ju? jej robota). Jak zaradzi? Twojemu problemowi? S? dwa rozwiazania (i najlepiej zastosowa? oba): 1. pobawi? si? funkcjami takimi jak htmlspecialchars(), czy strip_tags() go usuni?cia wszystkich tagów HTML z wprowadzanego ciagu 2. zaraz po otrzymaniu ci?gu znaków, maj?cego by? linkiem do filmu, sprawdzi? za pomoc? wyra?e? regularnych, czy string jest rzeczywi?cie linkiem (budow? linka ka?dy zna) |
phm | |
|
Powiem w skrócie tak: Cokolwiek wysy?asz do bazy danych - musi by? sprawdzone pod wzgl?dem mo?liwo?ci wstrzykni?cia kodu SQL (SQL Injection). Cokolwiek wy?wietlasz na stronie w postaci kodu, musi by? sprawdzone pod wzgl?dem tagów (XSS i HTML Injection). |