Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Trudne pytanie, bezpieczenstwo wysyłanych plików na serwer
b0nz0
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.05.2008

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


Mam pytanie odnosnie wysyłanych plików na serwer .W jaki sposob moge sprawdzic czy wysyłany plik jest plikiem graficznym (zdjeciem).Nie chodzi mi o sprawdzanie rozszerzenia bo chce uniknąc problemów natury takiej ,że ktos w pliku txt zamieni rozszerzenie na jpg i wysle. Chodzi mi czy jest cos takiego co sprawdza czy plik do wsyłania jest plikiem graficznym.Z góry dziekuje za odpowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Cezar708
post
Post #2





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


[php] Sprawdzanie czy obrazek jest obrazkiem czy "niespodzianka" poczytaj sobie o tym, tam jest mój post, który powinien Ci wystarczyć

Pozdrawiam
Go to the top of the page
+Quote Post
PiXel2.0
post
Post #3





Grupa: Zarejestrowani
Postów: 110
Pomógł: 13
Dołączył: 16.03.2007
Skąd: Łódź

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


Mozna sprawdzac typ mime plikow.
Nawet w tablicy z uploadowanymi plikami: $_FILES['zmienna']['type']

Typ mime jest ustalany na podstawie tresci pliku a nie jego rozszerzenia, ale tresc moze byc celowo spreparowana aby oszukac mechanizmy okreslajace typ mime wiec nie zaszkodzi sprawdzac tez rozszerzenie.

P.S.: Na miejscu moderatora zamknalbym temat o takim tytule ("Trudne pytanie")...
Go to the top of the page
+Quote Post
Cezar708
post
Post #4





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat(PiXel2.0 @ 18.05.2008, 22:47:23 ) *
Typ mime jest ustalany na podstawie tresci pliku a nie jego rozszerzenia, ale tresc moze byc celowo spreparowana aby oszukac mechanizmy okreslajace typ mime wiec nie zaszkodzi sprawdzac tez rozszerzenie.


hmm a skąd taka informacja?

Cytat
$_FILES['userfile']['type']

The mime type of the file, if the browser provided this information. An example would be "image/gif". This mime type is however not checked on the PHP side and therefore don't take its value for granted.

źródło

więc sprawdzanie MIME nic, ale to za nic nie jest dobre zabezpieczenie

Pozdrawiam

Ten post edytował Cezar708 18.05.2008, 23:54:07
Go to the top of the page
+Quote Post
b0nz0
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.05.2008

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


Ale jakiej funkcji użyć aby sprawdzic typ mime.I czy to sprawdzi czy plik jest np zdjęciem.
Go to the top of the page
+Quote Post
PiXel2.0
post
Post #6





Grupa: Zarejestrowani
Postów: 110
Pomógł: 13
Dołączył: 16.03.2007
Skąd: Łódź

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


Cytat(b0nz0 @ 19.05.2008, 01:11:15 ) *
Ale jakiej funkcji użyć aby sprawdzic typ mime.I czy to sprawdzi czy plik jest np zdjęciem.


Jesli masz plik na serwerze to mozesz sprawdzic funkcja mime_content_type('sciezka')
Jesli plik jest wysylany przez uzytkownika to przez tablice $_FILES tak jak pisalem wyzej $_FILES['zmienna']['type']

Dla obrazow typy mime zaczynaja sie od image/* np:
image/gif
image/jpeg
image/bmp


Jednak nie radze polegac w 100% na typie mime...

Ten post edytował PiXel2.0 19.05.2008, 00:18:47
Go to the top of the page
+Quote Post
b0nz0
post
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.05.2008

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


A jesli użyje mime_content_type() dla pliku txt którego zminiłem specjalnie rozszerzenie na gif to czy pokaże ze jest to gif czy plik txt.
Go to the top of the page
+Quote Post
PiXel2.0
post
Post #8





Grupa: Zarejestrowani
Postów: 110
Pomógł: 13
Dołączył: 16.03.2007
Skąd: Łódź

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


Cytat(b0nz0 @ 19.05.2008, 10:30:23 ) *
A jesli użyje mime_content_type() dla pliku txt którego zminiłem specjalnie rozszerzenie na gif to czy pokaże ze jest to gif czy plik txt.

To juz powinienes sam wiedziec dysponujac wiedza zdobyta po przeczytaniu tego tematu.
Czytaj moj post #3.
Go to the top of the page
+Quote Post
Babcia@Stefa
post
Post #9





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Jeśli nie masz GD na serwerze możesz sprawdzać nagłówki obrazka.

Dziękuję, Babcia@Stefa
Go to the top of the page
+Quote Post
camikazee
post
Post #10





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 17.04.2006
Skąd: Bydgoszcz

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


A może po prostu sprobować z użyciem jakiejś funkcji obrazkowej np. getimagesize i przechwytywać ewentualne błędy.
Go to the top of the page
+Quote Post
Pilsener
post
Post #11





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


A ja lansuję sposób stary i toporny - wczytać kilka pierwszych i ostatnich bajtów z pliku, żeby sprawdzić co zawiera.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 19:58