Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zabezpiecznie uploadu plikow php
miro20
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 18.02.2008

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


Jak w temacie , chcialem zrobic zabezpieczenie do uploadu na stronce aby nie mozna bylo wgrac php , z poczatku posluzylem sie mime_content_type , lecz pliki php widzi nawet jako text/plain , czego nie chcialem zabraniac teraz mysle o rozwiazaniu z explode "." i zeby ostatnia wartosc tablicy porownac czy czasem nie jest "php" jak zatem odwolac sie tylko do ostaniej wartosci w tablicy ? , chyba ze znacie jakies inne rozwiazania smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
pyro
post
Post #2





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Najlepiej to zrobić tablicę z DOZWOLONYMI typami plików, a jak koniecznie ma nie być TYLKO php to:

  1. <?php
  2. $is_php = preg_match('|php[0-9]?|i', pathinfo($plik, PATHINFO_EXTENSION)) ? true : false;
  3. ?>


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
Spawnm
post
Post #3





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




a co z np .phtml ? php działa i pod tym rozszerzeniem ... lepiej daj listę dozwolonych typów smile.gif
Go to the top of the page
+Quote Post
osl
post
Post #4





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

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


jak wyżej, zwłaszcza, że apache można skonfigurować żeby dowolne pliki traktował jako php, chociażby inc...
Go to the top of the page
+Quote Post
bim2
post
Post #5





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Nie można po prostu przy uploadzie nazwać pliku nazwa.rozszerzenie_uploaded ? Lub cokolwiek zamiast tego uploaded?


--------------------
Go to the top of the page
+Quote Post
pyro
post
Post #6





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(Spawnm @ 12.05.2009, 14:19:28 ) *
a co z np .phtml ? php działa i pod tym rozszerzeniem ... lepiej daj listę dozwolonych typów smile.gif


Racja zapomniałem o phtml ;x


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
bliitz
post
Post #7





Grupa: Zarejestrowani
Postów: 155
Pomógł: 12
Dołączył: 5.04.2008

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


  1. <?php
  2. strtolower( strrchr( $file['form'][ 'name' ], '.' ) );
  3. ?>


Zwróci .php


--------------------
Go to the top of the page
+Quote Post
pyro
post
Post #8





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Osobiście nie wiem dlaczego tylko php miałoby nie mieć możliwości wgrania, oprócz php można wgrać coś innego szkodliwego, np. asp, java czy jeszcze inne szmelce

// edit

dlatego wspomnialem zeby stworzyc tablice dozwolonych typow smile.gif

Ten post edytował pyro 12.05.2009, 14:29:44


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
miro20
post
Post #9





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 18.02.2008

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


No racja nie wspomnialem o java itd , tylko dlatego ze tamte udalo mi sie zablokowac moze trochu w prowizoryczny sposob no ale lepiej kombinowac pierw samemu a pozniej pytac . Tablica tozwolonych plikow wygladala by tak
Kod
$allowedtypefiles=array(
            'txt' => 'text/plain',
            'pdf' => 'application/pdf',
            'doc' => 'application/msword',
            'rtf' => 'application/rtf',
            'odt' => 'application/vnd.oasis.opendocument.text',
            'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
        );


problem jest taki ze mime_content_type dla wgrywanych plikow php zwraca mi wartosc text/plain , i pozwala na uplaodowanie tych plikow
Go to the top of the page
+Quote Post
pyro
post
Post #10





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Sprawdzaj po rozszerzeniu pliku a nie MIME. Weryfikację MIME można łatwo ominąć.


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
miro20
post
Post #11





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 18.02.2008

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


Ok postaram sie to jakos wykombinowac znalazlemprzyklad na php.net.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 17:09