![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czy dobrym pomysłem jest sprawdzenie mime-type pliku po stronie klienta.Czytałem ,że JS ma ograniczony dostęp do systemu plików,katalogów itp.Dlatego,niekiedy może się zdażyć ,że typ mime pliku może zostać nieprawidłowo rozpoznany.
Czy lepiej pominąć sprawdzanie mime pliku po stronie klienta i użyć tego sposobu tylko po stronie serwera?? Ktoś ,próbował użyć weryfikacji mime pliku w JS ,czy to prawidłowo funkcjonuje? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 39 Dołączył: 6.12.2010 Skąd: localhost Ostrzeżenie: (0%) ![]() ![]() |
Zrob walidacje po stronie serwera. JS mozna wylaczyc wiec cala walidacja pojdzie na grzyby
![]() -------------------- Wspieram akcję "jQuery i AJAX to nie język programowania"
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ja się tym nie przejmuje-bo większość strony oparta jest o technologię ajax ,tak więc jak wyłączy JS-to raczej plików nie ściągnie,nie załaduje obrazów itp.
Więc jak,ktoś wie czy weryfikacja mime po stronie js jest skuteczna-to prosiłbym o odpowiedź,bo nie chciałbym ,aby odrzucało co drugiej osobie uploadowane pliki ze względu na źle rozpoznany typ mime . |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 39 Dołączył: 6.12.2010 Skąd: localhost Ostrzeżenie: (0%) ![]() ![]() |
Ja na twoim miejscu nie ryzykowalbym walidacji tylko JS. To co jest po stronie klienta jest jego, wiec moze robic z tym co chce. Nie jestem pewien ale NoScriptem mozna blokowac wybrane skrypty.
-------------------- Wspieram akcję "jQuery i AJAX to nie język programowania"
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Źródło -> wywal kod odpowiedzialny za walidację -> oh gdzie ta piękna walidacja Q_Q
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Źródło -> wywal kod odpowiedzialny za walidację -> oh gdzie ta piękna walidacja Q_Q Tej wypowiedzi to nie rozumie-czyli doradza Pan pominięcie sprawdzania mime w JS? ![]() Cytat Ja na twoim miejscu nie ryzykowalbym walidacji tylko JS. To co jest po stronie klienta jest jego, wiec moze robic z tym co chce. Nie jestem pewien ale NoScriptem mozna blokowac wybrane skrypty. .A czy ja powiedziałem,że będę używał weryfikacji mime tylko ,po stronie klienta???Otóż nie ,mam zamiar zastosować oba rozwiązania(po stronie klienta i po stronie serwera),tylko muszę się dopytać czy weryfikacja mime w js jest skuteczna ze względu na to że js ma ograniczony dostęp do zasobów i może czasami błędnie rozpoznawać typ mime plików,ale nie jestem tego na 100% pewny,Dlatego pytam czy warto użyć JS do sprawdzania typu mime pliku,czy to pomoże,czy raczej zaszkodzi?? Ten post edytował Rid 5.07.2011, 13:34:02 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 39 Dołączył: 6.12.2010 Skąd: localhost Ostrzeżenie: (0%) ![]() ![]() |
Jesli naprawde potrzebna ci walidacja bez przeladowania to napisz skrypt PHP i komunikuj sie z nim za pomoca AJAX
EDIT: Skoro chcesz robic walidacje po stronie serwera, to po co pchac sie dodatkowo w JS ? Ten post edytował drozdii07 5.07.2011, 13:40:30 -------------------- Wspieram akcję "jQuery i AJAX to nie język programowania"
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dla wygody użytkownika,dodatkowo dla bezpieczeństwa,bo akurat mam zastosowane u siebie takie rozwiązania,że walidacje typu mime pliku mogę po stronie klienta z łatwością wdrożyć bez dodatkowych requestów ajaxowych,tylko czy jest ona skuteczna i nie powoduję błędów i komplikacji?
Ten post edytował Rid 5.07.2011, 13:59:16 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 39 Dołączył: 6.12.2010 Skąd: localhost Ostrzeżenie: (0%) ![]() ![]() |
Jak sie tam upares na to JS to kombinuj cos. Jesli mozesz to podeslesz link gdzie znalazles cos o tego typu walidacji ? Bo mi google nic nie chce powiedziec
-------------------- Wspieram akcję "jQuery i AJAX to nie język programowania"
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
http://help.dottoro.com/ljkfceta.php
Tak poza tym ,z mojego punktu widzenia walidacja js w moim(tym) przypadku, jest bardziej preferowana ,niż po stronie serwera, dlatego ,że kontrolka u mnie po prostu nie działa bez js ,tak więc plik nie zostaną uploadowany. Toteż forma walidacji po stronie serwera jest u mnie doatkowym zabezpieczeniem. Wprowadziłem funkcje która,niejako wychwytuje mime pliku-ale ja nie widzę różnicy pomiędzy zwykłej walidacji za pomocą rozszerzeń. Zrobiłem mały eksperyment-zapisałem zwykły dokument tekstowy-z niegroźnym skryptem w JS jako jpg. Uploadowałem plik i wykryło mime image/jpeg ,zapisało go do katalogu-na szczęście kod się nie wykonał-czy to tak ma działać ![]() Na stronie http://jsbin.com/akati3/2 ,jest tester uploadu -sprawdzałem tam i mniej więcej działa tak jak u mnie chociaż ja to inaczej rozwiązałem-wykrywa tam image/jpeg. Jak przesiać takie pliki,które w rzeczywistości nie są obrazami. Jak sprawdzić mapę bitową pliku? ![]() Ten post edytował Rid 5.07.2011, 19:17:43 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 39 Dołączył: 6.12.2010 Skąd: localhost Ostrzeżenie: (0%) ![]() ![]() |
Sam sie przekonales, ze walidacja w JS to zly pomysl
![]() -------------------- Wspieram akcję "jQuery i AJAX to nie język programowania"
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wątpię ,żeby sprawdzenie mime pliku po stronie serwera coś zmieniło,w przypadku eksperymenciku ,który zrobiłem,ale spróbuję-nic nie zaszkodzi.
Myślę ,że jedynym skutecznym sposobem będzie sprawdzenie bitmapy pliku,ale będzie trudno bo jeszcze tego nie robiłem. I tak jak podejrzewałem nie sprawdzi się tego prostym sposobem jak(get_Contets) ,metody te nie są skuteczne,ustalanie mime bazuje na rozszerzeniach.Tak więc ,zbędne jest ustalanie MIME w JS!!!! Trzeba otworzyć plik i odczytać pierwsze 256bitów aby móc potem sprawdzić do jakich wzorców pasują dane binarne i poprzez to określić prawidłowy tym mime pliku-raczej tego w js się nie zrobi. I powiem Wam Panowie ,że u was też walidacja typu mime leży,bo udało mi się załadować z localhosta zdjęcia,a jedno zamienione jest z txt na jpg.Dziwne. Ten post edytował Rid 6.07.2011, 02:22:35 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 39 Dołączył: 6.12.2010 Skąd: localhost Ostrzeżenie: (0%) ![]() ![]() |
Sproboj cos zrobic z tablica $_FILES tam jest zapisany typ przesylanego pliku, przy okazji mozesz zrobic sprawdzanie rozszerzen
-------------------- Wspieram akcję "jQuery i AJAX to nie język programowania"
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Możesz wszystkie ładowane obrazki zmieniać na jakiś inny typ, np wszystko przerabiaj na jpg, bez względu czy to będzie jpg, czy png wszystko na jpg. Lub nawet zmień rozdzielczość, wydaje mi się że funkcje które odpowiadają za sprawdzanie rozmiaru, zmianę rozmiaru itp w przypadku pliku innego niż graficzny, wywalą jakiś błąd. Nie mniej, sam tak robię, próbowałem wrzucić na serwer obrazek z zakomentowanym kodem i takie działanie za każdym razem kończyło się niepowodzeniem.
Gdyby sprawdzanie mimetype po stronie serwera było złe, to serwisy tupu facebook, czy nk nie miałby racji bytu. A sposobów na sprawdzanie mime jest sporo i większość z nich jest dobra. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie twierdze, że sprawdzanie po stronie serwera jest,złe-tego nigdy nie powiedziałem.Twierdze jednak że tradycyjne metody sprawdzania typu mime zarówno w PHP jak i w platformie NET są niewystarczające wręcz zbędne gdyż wykrywanie typu mime odbywa się za pomocą rozszerzeń plików.Osoba ,która zrobiła już sprawdzanie plików za pomocą rozszerzeń nie musi już używać sprawdzania typu mime tradycyjnymi metodami ,gdyż jest to równoznaczne z sprawdzeniem rozszerzenia pliku.Jak chce się konkretnie zabezpieczyć trzeba użyć"niestandardowych" skryptów-i tyle z mojej strony.
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 39 Dołączył: 6.12.2010 Skąd: localhost Ostrzeżenie: (0%) ![]() ![]() |
Ktos kto sprawdza tylko rozszerzenie jest moim zdaniem zbyt pewny siebie, lub mysli, ze nikt nie bedzie probowal tego obejsc..Poczytaj o binderach
![]() -------------------- Wspieram akcję "jQuery i AJAX to nie język programowania"
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie twierdze, że sprawdzanie po stronie serwera jest,złe-tego nigdy nie powiedziałem.Twierdze jednak że tradycyjne metody sprawdzania typu mime zarówno w PHP jak i w platformie NET są niewystarczające wręcz zbędne gdyż wykrywanie typu mime odbywa się za pomocą rozszerzeń plików.Osoba ,która zrobiła już sprawdzanie plików za pomocą rozszerzeń nie musi już używać sprawdzania typu mime tradycyjnymi metodami ,gdyż jest to równoznaczne z sprawdzeniem rozszerzenia pliku.Jak chce się konkretnie zabezpieczyć trzeba użyć"niestandardowych" skryptów-i tyle z mojej strony. Dlatego nie sprawdza się typu mime w sposób jaki oferują to języki, tylko na około, czyli np sprawdzając rozmiar obrazka, zmieniając jego typ, zmieniając jego rozdzielczość itp. Takie rozwiązania są IMO najlepsze. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ok już zrobiłem-i teraz wykrywa mi plik tekstowy,który został zmieniany na jpg jako plain/text a nie jako img/jpeg i plik taki się nie ściągnie
![]() Ten post edytował Rid 6.07.2011, 12:54:18 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.07.2025 - 10:44 |