qrzysztof
7.11.2009, 19:08:26
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?
marcio
7.11.2009, 20:01:53
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.
potreb
7.11.2009, 20:02:11
Sprawdzanie mime pliku
qrzysztof
7.11.2009, 20:14:21
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?
marcio
7.11.2009, 20:18:53
Mysle ze max 100-120 znakow to wystarczajaco duzo.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.