Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V  < 1 2  
Reply to this topicStart new topic
> Pierwszy skrypt w OOP
darko
post
Post #21





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


  1. private function _checkExtension($file) {
  2. $temp = pathinfo($file);
  3. return in_array(@strtolower($temp['extension']), $this->extensions);
  4. }

gdzie $this->extensions to tablica dozwolonych rozszerzeń, ale też zabezpieczenie żadne, bo wystarczy zmienić ręcznie rozszerzenie pliku i przejdzie.

Ten post edytował darko 8.03.2010, 14:30:31
Go to the top of the page
+Quote Post
blooregard
post
Post #22


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Jak już wspomniał @phpion, sprawdzanie rozszerzenia zda się psu na budę.
Podstawową kwestią jest sprawdzenie typu mime pliku, np. w ten sposób:
  1. $_avaiable_mimetypes = array('plain/text' , 'application/pdf' , 'application/x-pdf' , 'image/jpg' , 'image/jpeg' , 'image/png' , 'image/gif' , 'image/pjpeg' ,
  2. 'application/vnd.ms-excel' , 'application/msword' , 'application/vnd.ms-powerpoint' );
  3. if (!in_array($_FILES['file']['type'] , $_avaiable_mimetypes)) {
  4. $_errors['file_upload_error'] = '<p><span style="color:#f00;">Nieprawidłowy typ pliku.</span></p>';
  5. }


PS: Kod jest żywcem wycięty, nie bawiłem się w edycję, więc proszę nie pytać, co to jest np. to: $_errors['file_upload_error'] (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
darko
post
Post #23





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Teoretycznie sprawdzanie typu mime też da się obejść
Go to the top of the page
+Quote Post
blooregard
post
Post #24


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
Teoretycznie sprawdzanie typu mime też da się obejść

Oczywiście, wszystko da się obejść.
Ale nie jest to już tak trywialne, jak zmiana rozszerzenia.

Ale oczywiście, nic nie stoi na przeszkodzie, by sprawdzać również rozszerzenie. Generalnie - powinno się walidować wszystko, co się da, jeśli dopuszczamy upload plików na serwer przez "niezaufane" źródła (czyli użyszkodników)
Go to the top of the page
+Quote Post
Crozin
post
Post #25





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@blooregard: typ mime z $_FILES jest ustawiany przez przeglądarkę (zobacz sobie na podgląd wysyłanych nagłówków przy pomocy Firebuga). Typ mime powinno się sprawdzać po stronie serwera.
Go to the top of the page
+Quote Post
blooregard
post
Post #26


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
@blooregard: typ mime z $_FILES jest ustawiany przez przeglądarkę (zobacz sobie na podgląd wysyłanych nagłówków przy pomocy Firebuga). Typ mime powinno się sprawdzać po stronie serwera.

Tak, masz rację, nie wspomniałem o tym:
http://pl.php.net/manual/pl/ref.fileinfo.php
Go to the top of the page
+Quote Post

2 Stron V  < 1 2
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: 10.06.2026 - 21:30