ForumCała strona

Nawigacja

Aktualnie online

Gości online: 33

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

Zobacz temat

 Drukuj temat
Dodawanie filmów przez submit.php za pomocą kodu osadź wideo a bezpieczeństwo
Joordan
Zmodyfikowałem plik submit.php, tak abym mógł akceptować wysyłane filmy Dodałęm do niej również funkcje "Podgląd filmu". Filmy są dodawane zapomocą kodu osadź wideo np.
Pobierz kod źródłowy  Rozwiń Kod źródłowy HTML


Czy jest to bezpieczne rozwiązanie?.


Kod odpowiedzialny za podgląd filmu
Pobierz kod źródłowy  GeSHi: PHP
  1. if (isset($_POST['preview_film'])) {
  2. $film_subject = stripinput($_POST['film_subject']);
  3. $film_snippet = stripinput($_POST['film_snippet']);
  4. $film_article = stripslash($_POST['film_article']);
  5. echo "<center><span class=tytul>";
  6. echo $film_subject ;
  7. echo "</span><br><br>";
  8. echo $film_article ;
  9. echo "<br><br></center>";
  10. opentable(Opis);
  11. echo $film_snippet ;
  12. closetable();
  13. tablebreak();
  14. }
  15. if (!isset($_POST&#91;'preview_film'&#93;)) {
  16. $film_subject = "";
  17. $film_snippet = "";
  18. $film_article = "";
  19. }
  20.  
  21. <input type='submit' name='preview_film' value='".$locale&#91;'631'&#93;."' class='button'>
Zinterpretowano w sekund: 0.028, wykorzystano GeSHi 1.0.8.10


Wiadomość doklejona:
Chodzi o to że np. gdy ktoś zamiast kodu filmu wpisze </td></td></td></td> to rozjedzie mi się cała strona i tp.

Wiadomość doklejona:
Joordan napisał/a:
Zmodyfikowałem plik submit.php, tak abym mógł akceptować wysyłane filmy Dodałęm do niej również funkcje "Podgląd filmu". Filmy są dodawane zapomocą kodu osadź wideo np.
Pobierz kod źródłowy  Rozwiń Kod źródłowy HTML


Czy jest to bezpieczne rozwiązanie?.


Kod odpowiedzialny za podgląd filmu
Pobierz kod źródłowy  GeSHi: PHP
  1. if (isset($_POST&#91;'preview_film'&#93;)) {
  2. $film_subject = stripinput($_POST&#91;'film_subject'&#93;);
  3. $film_snippet = stripinput($_POST&#91;'film_snippet'&#93;);
  4. $film_article = stripslashes($_POST&#91;'film_article'&#93;);
  5. echo "<center><span class=tytul>";
  6. echo $film_subject ;
  7. echo "</span><br><br>";
  8. echo $film_article ;
  9. echo "<br><br></center>";
  10. opentable(Opis);
  11. echo $film_snippet ;
  12. closetable();
  13. tablebreak();
  14. }
  15. if (!isset($_POST&#91;'preview_film'&#93;)) {
  16. $film_subject = "";
  17. $film_snippet = "";
  18. $film_article = "";
  19. }
  20.  
  21. <input type='submit' name='preview_film' value='".$locale&#91;'631'&#93;."' class='button'>
Zinterpretowano w sekund: 0.022, wykorzystano GeSHi 1.0.8.10


Wiadomość doklejona:
Chodzi o to że np. gdy ktoś zamiast kodu filmu wpisze </td></td></td></td> to rozjedzie mi się cała strona i tp.



PW od moderatora:
  1. Zmiana nazwy tematu - hoopak 03.02 - 20:57
  2. Przeniesienie tematu - hoopak 03.02 - 20:57

Edytowane przez Joordan dnia 03.02.2010 22:34:06
 
www.filmotekaonline.com
Wścibski Gość
Dodany dnia 24.11.2024 18:38:08
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
Konto ukryte
Tzn użytkownik podaje jako film kod <object... itp?
Jeżeli tak, to nie za dobre rozwiązanie - lepiej np. bbcode zrobić do tego i zamieniać na kod ustawiony na sztywno (ale i tak dane filtrować).
 
Joordan
LukasAMD napisał/a:
Tzn użytkownik podaje jako film kod <object... itp?
Jeżeli tak, to nie za dobre rozwiązanie - lepiej np. bbcode zrobić do tego i zamieniać na kod ustawiony na sztywno (ale i tak dane filtrować).


Nie chcę w ten sposób robić bo to mało uniwersalne.
Ale ogólnie obecne rozwiązanie jakie niesie zagrożenia ze sobą??

Chyba zrobię formularz dodaj link do filmu np. "http://www.youtube.com/watch?v=oC4gsipGfQU" i sam będę dodawał kod w postaci <object... itp
 
www.filmotekaonline.com
piotrek199214
Można zrobić tak:
Użytkownik będzie wklepywał adres do filmiku czyli:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

rozdzielczość a system będzie miał gotowy wzór czyli:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Pozdrawiam
Edytowane przez Pieka dnia 07.02.2010 03:05:14
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny pomogl[1]_1.png
Tanie tworzenie wtyczek, masz problem napisz.
 
www.piocom.eu
Joordan
piotrek199214 napisał/a:
Można zrobić tak:
Użytkownik będzie wklepywał adres do filmiku czyli:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

rozdzielczość a system będzie miał gotowy wzór czyli:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Pozdrawiam



A teraz popatrz na kod z googlevideo
Pobierz kod źródłowy  GeSHi: XML
  1.  
  2. <embed id=VideoPlayback src=http://video.google.pl/googleplayer.swf?docid=1811233136844420765&hl=pl&fs=true style=width:400px;height:326px allowFullScreen=true allowScriptAccess=always type=application/x-shockwave-flash> </embed>
Zinterpretowano w sekund: 0.000, wykorzystano GeSHi 1.0.8.10



link z osadź wideo
Pobierz kod źródłowy  GeSHi: XML
  1. http://video.google.pl/googleplayer.swf?docid=1811233136844420765&hl=pl&fs=true
Zinterpretowano w sekund: 0.000, wykorzystano GeSHi 1.0.8.10

Link z paska adresu
Pobierz kod źródłowy  GeSHi: XML
  1. http://video.google.pl/videoplay?docid=1811233136844420765&ei=jdtqS-39CY6M2AKov6i5CA&q=video&hl=pl#
Zinterpretowano w sekund: 0.000, wykorzystano GeSHi 1.0.8.10



Przedtem mialem wbity w thema w miejce odpowiadające za wyświetlanie filmów kod:

Pobierz kod źródłowy  GeSHi: XML
  1. <object width="800" height="600"><param name="movie" value="zmienna_link"></param><param name="allowFullScreen" value="true"></param><embed src="zmienna_link" type="application/x-shockwave-flash" allowfullscreen="true" width="800" height="zmienna_height"></embed></object>
  2.  
Zinterpretowano w sekund: 0.001, wykorzystano GeSHi 1.0.8.10


Ateraz tylko $zmienna_link
co odpowiada za cały kod

Zastanawiałem się nad takim rozwiązaniem jak proponujesz ale wydaje mi się że to za dużo kombinowania.
Edytowane przez Pieka dnia 07.02.2010 03:04:03
 
www.filmotekaonline.com
piotrek199214
Czy ja wiem czy dużo kombinowania, raczej nie.
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny pomogl[1]_1.png
Tanie tworzenie wtyczek, masz problem napisz.
 
www.piocom.eu
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)
Edytowane przez phm dnia 04.02.2010 21:51:08
 
Joordan
Super, dziekuje. Naprawde wyczerpałeś temat i dużo się od ciebie dowiedziałem :)

Link do filmu jest oczywiście wysyłany do bazy sql.

A idea miała być taka aby każdy mógł podejrzeć przed wysłaniem, tekst miniatórkę obrazka i film w formie takiej jak na gotowej pod stronie z filmem.

Rezugnuje z tego bo głowa już mnie od tego rozbolała :)

A jeśli w miejscu odpowiedzialnym za wysyłanie linka do bazy, stripshlashes zamienie na stripinput to też będzie dobrze? W-tedy każdy kod HTML itp. powinien być wyświetlany jako zwykły tekst...? Np.:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Edytowane przez Pieka dnia 07.02.2010 01:07:55
 
www.filmotekaonline.com
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).
jeśli pomogłem - kliknij pomógł Smile
pajacyk.pl - kliknij w pajacyka Smile
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl