Loading:


PHP - Formularze [Upload plików]

 

3.Pierwsza aplikacja


W powyzszych przykladach pokazalem juz, jak wykonac prosty upload zdjec/obrazkow na serwer.
Jednak tak w razie czego umieszczam kod zrodlowy

 

4.'Little zabezpieczenia'


Otoz opowiem Wam teraz mala historie. Pewnego dnia Edek napisal sobie skrypt jak powyzej, jednak zrobil troszeczke inaczej.
Chcial ulatwic sobie zycie, poprzez zrobienie sobie tablicy z niebezpiecznymi rozszerzeniami, i je blokowac. Napisal kod:
$zle_pliki = array('zip', 'html', 'rar', 'tgz', 'exe', ''); // I inne przykladowe, jednak pominol pliki php, badz php3 itp

Pewnego slonecznego dnia, ujrzal straszny napis 'Owned by hax00r'. Pol dnia chodzil zawiedziony, jak do tego moglo dojsc, dlaczego jego strona
jednak pozbieral sie i postanowil przejrzec swoje konto. Ujrzal tam plik 'c99shell', bez zastanowienia
sprawdzil coz to takiego jest. Wchodzi na swoja strone www.edek.z.krainy.kredek.pl/c99shell.php, patrzy a tam takie czary mary: KLIK,
facet jest pewny, ze tego nie wrzucal, ale takze zastanawia sie, skad hax00r mial dostep FTP do jego serwera ? Dostrzegl ze zly hax00r mial dostep do CALEGO konta FTP tylko i wylacznie via WWW, wiedzial on, Ĺźe hax00r mogl wykonac doslownie wszystko. Od przegladania wszelakich folderow i informacji o serwerze, po tworzenie wlasnych katalogow, kont etc. Edek ostanawia przejrzec pol internetu,
i dochodzi do wniosku, ze to on zawinil, nie jego kod. Wiedzial ze zablokowal pliki 'stron internetowych' [html] ale nie do konca, nie wpisal PHP czy tez PHP3[PHP5] etc. Edek, po paru godzinach
napisal nowy kod, tyle ze juz uzyl wyrazen regularnych. I wszystko skonczylo sie prawie szczesliwie. Bo i to do konca nie bylo pewne ;) Dlaczego ? Otoz, nigdy nie wiadomo jak to bedzie, na kogo trafimy

Zapewne zastanawiacie sie, po co opowiedzialem ta historyjke ? Po to, iz nie raz natrafilem na tak owy plik na roznych kontach FTP, osob 'zhax00rowanych' i przestrzegam Was przed tworzeniem uploadow 'globalnych'.
Jak sie zabezpieczyc ? Sprawdzac MIME-TYPE, google'owac, szukac przydatnych funkcji w PHP, badz pisac wlasne. Ogolnie byc osoba kreatywna, i nie szukac tylko gotowych rozwiazan! :)

 

5.Zakonczenie


To bedzie na tyle w tekscie, mam nadzieje ze chociaz troszeczke Wam sie spodobal, i ze kiedys Wam sie do czegos przyda ;))

Greetz to: Blackhat, Elwin, Meal, xtr3mist, DiViX.

Contact:
  >sapcik[at]webhat[dot]pl

  >webhat.pl



Dalsza czê¶æ: 1 2
Napisz Artyku³






Dodano przez: Sapcik Ranga: Poziom 1 Punktów:
Komentarze użytkowników
Proponuje rozszerzenie pliku wyciągnąć po przez funkcję pathinfo(), ponieważ rozkładanie nazwy na tablicę według kropki nie zawsze może przynieść wymaganego przez nas efektu.
autor: Puzi | 68 | 2009-01-26 16:04:51


Masz rację jeśli rozbijemy nazwę poprzez explode a nazwa pliku będzie obrazek.jakis.jpg dostaniemy błąd
autor: Igor | 70 | 2009-01-26 16:27:47


Może się zdarzyć powyższa sytuacja, ale nazewnictwo plików ze specjalnymi znakami typu '.', '?' czy '~' nie jest dozwoloną techniką nazywania plików.
autor: Divix | 71 | 2009-01-26 16:28:49


Panowie, artykuł kierowany jest do osób początkujących, i starałem się opierać na funkcjach jak najbardziej przejrzystych, i raczej znanych :) Być może w kolejnych artykułach opisze dokładniej co i jak :) Pozdrawiam
autor: Sapcik | 72 | 2009-01-26 16:34:50


OK ale można zastosować np:
autor: Igor | 73 | 2009-01-26 16:43:00


mimetype do sprawdzania poprawności formatu pliku ;-)
autor: szalik | 391 | 2009-07-27 00:55:14


    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors