![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 28.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czy powinienem walidować nazwę pliku graficznego przy wgrywaniu na serwer ?
Bo chce zapamiętywać nazwę pliku w bazie danych, czyli to: $_FILES['plik']['name'] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%) ![]() ![]() |
Moim zdaniem tak. W nazwie pliku także mogą występować znaku typu: ', *
więc toeretycznie możliwy jest atak sql injection -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 331 Pomógł: 30 Dołączył: 11.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
poza tym waliduj, czy ktoś Ci nie wysyła pliku php (czyli *.php, *.php3, *.php5, lub ogólnie *.php*)
Raz taką lukę miało forum przema i można było przez nie dostać się na serwer i edytować wszystkie pliki -------------------- http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;) |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Zasada powinna być prosta: co nie jest dozwolone jest zabronione, więc absolutnie niedopuszczalne jest, by ktoś mógł wrzucać pliki o dowolnej nazwie - nazwa pliku powinna zawierać określony zestaw znaków, nie być za długa i mieć odpowiednie rozszerzenie. Ktoś kto używa znaków specjalnych w nazwach plików raczej czystych intencji nie ma, a nawet jeśli to nazwę pliku przecież łatwo zmienić.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Najlepiej zamieniaj wszystkie znaki kóre są spoza jakiegoś określone zakresu np. [a-zA-Z0-9_.] na np. "_" albo kropkę a do tego sprawdzaj "type" pliku z tablicy $_FILES i po kłopocie
-------------------- My mind is glowing ...
Jeśli pomogłem push the button :) |
|
|
![]()
Post
#6
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
A dla pełnego bezpieczeństwa jeszcze możesz zrobić whitelist'ę z dopuszczalnymi typami MIME i z góry odrzucać te, któe mają inny, niż dopuszczalny.
Plus kontrola wielkości pliku z ograniczeniem do np. max 1MB, zapominając o tym, możesz dopuścić do ataku DoS/DDoS na serwer, jeśli z wielu lokacji zacznie Ci ktoś ładowac pliki po kilkaset MB Ten post edytował blooregard 27.01.2010, 15:22:01 -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 28.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedzi, mam jeszcze jedno pytanie, chce wyłączyć wyświetlanie błędów w skrypcie i stosuje coś takiego:
tylko jak zrobię jakiś błąd np.
to mi pokazuje ten błąd jakby nic się nie zmieniło. Czy można jakoś to wyłączyć z poziomu samego kodu ? Ten post edytował JAWS 27.01.2010, 22:34:58 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
zainteresuj się http://php.net/manual/pl/function.error-reporting.php
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 28.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Zainteresuj się może funkcją register_shutdown_function()
-------------------- My mind is glowing ...
Jeśli pomogłem push the button :) |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A ja jeszcze dodam, że warto walidować nazwę i wywalać wszystkie znaki typowe dla polskiego alfabetu (ą, ć ę, ź itd.), niemieckiego alfabetu (umlauty itd.) i norweskiego (te o z kreską itp.) (i cały: rosyjski, arabski i grecki ?) gdyż czasami mogą pojawić się problemy. Miałem kiedyś problemy z wyświetlaniem miniatur obrazków zawierających polskie znaki. W skrócie: zostawiamy tylko alfabet łaciński.
Ten post edytował darko 29.01.2010, 13:28:04 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Żeby tylko problem z wyświetleniem
![]() ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Racja ~thek - ciekawe czy da radę zapchać całą wolną przestrzeń na serwerze takimi plikami nie do usunięcia?
![]() typ ataku: multi-lang-filenames-diacritics-freespace-overflow ![]() Ten post edytował darko 29.01.2010, 14:01:34 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:14 |