Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Upload obrazków - jak zrobić to bezpiecznie?
qrzysztof
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

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


Witam,

Chcę zrobić upload obrazków na serwer za pomocą 2 sposobów:

1)podania adresu obrazka w sieci (wtedy link będzie przechowywany w bazie)
2)załadowania pliku z własnego dysku (input: type=file)

Mam pytanie głównie odnośnie punktu 1. Jak to zrobić żeby było bezpieczne? Rozumiem, że w grę wchodzi jakaś walidacja, ale jaka? Przecież adresy do grafiki nie muszą kończyć się rozszerzeniem (choć z reguły tak jest). A pod adresem może kryć się niekoniecznie obrazek.

Opłaca się w ogóle coś takiego robić? Widzę, że niektóre takie linki (np. z wyszukiwarki grafiki Google) mają adresy na kilkaset znaków. Zostawić samo dodawanie z dysku? Czy jest jakaś efektywna metoda?

Ten post edytował qrzysztof 7.11.2009, 19:10:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


A co ci ma sie stac jesli w linku podanym od user'a bedzie plik php?

Nic bo kod php sie nie wykonac to nie RFI.

Jedyne co to sprawdzaj czy adres www jest poprawny i czy istnieje dana strona poprostu wyslij do niej ping.

Jedyne co ale niej jestem pewny to jesli w remote pliku bedzie kod html/js czy sie on nie wykona lub tak, zawsze mozesz dodac htmlspecialchars() jesli np znacznik <a> bedzie wsadzal do <img> czy innych.

Go to the top of the page
+Quote Post
potreb
post
Post #3





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Sprawdzanie mime pliku
Go to the top of the page
+Quote Post
qrzysztof
post
Post #4





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

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


OK. Spróbuję pójść we wskazanych przez Was kierunkach.

A czy i jeśli tak to jakie ograniczenie długości adresu dać w bazie? Widzę, że przesadziłem z tymi kilkuset znakami w pierwszym poście, ale generalnie trzeba chyba ustalić jakiś max w bazie?
Go to the top of the page
+Quote Post
marcio
post
Post #5





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Mysle ze max 100-120 znakow to wystarczajaco duzo.
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: 23.08.2025 - 23:50