ForumCała strona

Nawigacja

Aktualnie online

Gości online: 25

Użytkowników online: 0

Łącznie użytkowników: 25,400
Najnowszy użytkownik: AlojzyBartek

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

piterus
30.10.2024 19:45:48
I będziemy śpiewać: "Kiedy 20 blisko, przebadaj wszystko, przebadaj wszystko..." Pfft

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

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. Smile ).
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).
   
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl