Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wrzucanie filmów yt przez formularz - zabezpieczenie
stefan33
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 4
Dołączył: 22.07.2012

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


Witam
Chcę na swojej stronie umieścic opcje dodawania filmików z yt. Jakoś specjalnie się nad tym nie zastanawiałem, wymyslilem z kopa krótki kod i chcialbym sie tylko upewnić czy jest on bezpieczny, ew. czy istnieje jakiś lepszy sposób. Z góry dziekuje za wszystkie odpowiedzi

kod:
  1. $link=$_POST['yt_link'];
  2.  
  3. //przywrocenie & po htmlentities
  4. $link=str_replace("&","&",$link);
  5.  
  6. //wyszukanie wystapienia youtube
  7. if(preg_match_all("/.*youtube/",$link,$match)!= false)
  8. {
  9. $found=$match[0][0];//ciąg typu http://www.youtube
  10. $linkLen=strlen($link);
  11. $correct=0;
  12.  
  13. $i=strlen($found);
  14. while($i<$linkLen) //wyszukanie .com, .pl itd.
  15. {
  16. if($link[$i]=="/")
  17. {
  18. $correct=1;
  19. break;
  20. }
  21. else $i++;
  22. }
  23.  
  24. if($correct==0)
  25. {
  26. echo "nieporawny";
  27. }
  28. else
  29. {
  30. $verifiedLink="http://youtube.com".substr($link,$i,$linkLen); //podmiana calego ciagu zakonczonego na np. youtube.com na http://youtube.com
  31. }
  32. }
  33. else echo "niepoprawny";

W ten sposob oczywiscie ktos moze wrzucic niepoprawny link, ale nie bedzie on niebezpieczny, w tym kodzie generalnie chodzi o to, zeby bezwzgledny link wskazywal na youtube. Tak wiec prosze o ew. potwierdzenie czy to jest poprawnie oraz sugestie polepszenia(w kwestii bezpieczenstwa). Z góry dziekuje za wszystkie odpowiedzi

Ten post edytował stefan33 20.10.2012, 14:52:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Co to jest niebezpieczny link?
Czy niebezpiecznym linkiem jest link do innej strony?

Co do walidacji linka nie prościej jest sprawdzić czy pierwsze 20 znaków stringa to "http://youtube.com/" ?
Nie da się się tu nic oszukać (porobić jakiś sudomeny czy inne pseudolinki) bo sprawdzasz od protokołu do domeny.


edit: ewentualnie link www bo youtube robi przekierowanie bez "www" na "z www".

Ten post edytował markonix 20.10.2012, 17:43:35
Go to the top of the page
+Quote Post
stefan33
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 4
Dołączył: 22.07.2012

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


Cytat(markonix @ 20.10.2012, 17:42:39 ) *
Co to jest niebezpieczny link?
Czy niebezpiecznym linkiem jest link do innej strony?

Co do walidacji linka nie prościej jest sprawdzić czy pierwsze 20 znaków stringa to "http://youtube.com/" ?
Nie da się się tu nic oszukać (porobić jakiś sudomeny czy inne pseudolinki) bo sprawdzasz od protokołu do domeny.


edit: ewentualnie link www bo youtube robi przekierowanie bez "www" na "z www".

Link do innej strony niz yt jest co najmniej niepożądany, a niebezpieczny też moze byc (IMG:style_emoticons/default/tongue.gif)
Taka walidacja to nie bardzo, bo odrzucaloby poprawne linki np. bez "http://" tez jest poprawny, podobnie z domena np. ".pl" jest poprawny, wiec teoretycznie jest to prostsze, ale z kolei bardzo nieprzyjazne dla uzytkownikow

Ten post edytował stefan33 20.10.2012, 19:23:07
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: 5.10.2025 - 06:38