Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Upload pliku, stream reader i bezpieczeńswto

Nie za bardzo mogę znaleźć na ten temat info, wiec wdzęczny będę za wszelkie uwagi.
Użytkownik uploaduje plik txt, albo csv, który po stronie serwera parsuję. FileUpload.PostedFile.ContentType zwraca MIME, ale to można oszukać zmieniając rozszerzenie.

Wyczytałem, że żeby było w miarę bezpiecznie, skladować pliki jest dobrze w katalogu nie dostępnym z internetu i nie wirtulanym - generalnie powyżej wwwroot;

I teraz pytanie, czy StreamReader wykonuje pliki? Czy jeżeli ktoś wpadnie na pomysł i wysle mi skrypt, albo exe ze zmienionym rozszerzeniem, to wciągając to do readera i odczytując pierwszą linię, żeby porównać z zadeklarowanym wzorcem, narażam się na coś nieprzyjemnego?

pzdr
dom

konto usunięte

Temat: Upload pliku, stream reader i bezpieczeńswto

Nie bardzo mogę sobie wyobrazić, aby za pomocą readera uruchomić coś.
Jeśli będziesz tylko porównywał łańcuch znaków to powinieneś być bezpieczny do czasu jak ktoś odkryje, że implementacja StreamReader nie ma w sobie błędu i nie da się jakoś preparując plik jej oszukać.
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Upload pliku, stream reader i bezpieczeńswto

Czyli jeżeli ktoś się pomyli i wysle mi jakieś złośliwe świństwo zamiast oczekiwanego csv/txt, to jestem bezpieczny i po porównaniu z regexem grzecznie zwracam info, że plik zdaje się być niewłaściwy?

konto usunięte

Temat: Upload pliku, stream reader i bezpieczeńswto

No raczej tak. Pytanie co robisz dalej po porównaniu. Bo co w przypadku jeśli porównujesz tylko pierwszą linie i tę user podeśle ci dobrą a pozostałą część pliku spreparuje?
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Upload pliku, stream reader i bezpieczeńswto

W sumie całość to konwerter współrzędnych geograficznych w stopniach na dziesiętne, więc zdecydowanie nie aplikacja o wielkim znaczeniu dla ludzkości. Po porównaniu pierwszej linii będę calość rozkładał na czynniki pierwsze, parsował i zapisywał nowe wyniki do pliku. Mogę testować każdą linię, ale biorąc pod uwagę, że i tak się odbywa tam parsowanie tekstu, po prostu inna metoda zwroci błąd nierozpoznanego wzorca.

konto usunięte

Temat: Upload pliku, stream reader i bezpieczeńswto

Jak to tak opisujesz to wygląda niegroźnie, ale oczywiście całość należałoby przejrzeć pod tym kątem jak już wybierzesz i zaimplementujesz konkretne rozwiązanie.
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Upload pliku, stream reader i bezpieczeńswto

Dzięki za info :-)

Następna dyskusja:

Upload pliku via detailsView




Wyślij zaproszenie do