Jak zrobić nie uruchamianie skryptów na stronie

0

Robiąc upload plików podczas nauki asp.net, natknąłem się na informację że każdy może sobie wrzucić plik w moim przypadku aspx.cs + aspx (ci co pisza w PHP to plik php) i go uruchomić. Jedno z wyjść to zablokować możliwość uploadu takich plików, ale czy da się zrobić, by użytkownik pliku go nie mógł uruchomić na serwerze, tylko co najwyżej pobrać?
Jeszcze mam pytanie odnośnie artykułu w którym jest zdanie

Oprócz tego warto zabezpieczyć się przed plikami o podmienionych rozszerzeniach

Napisali jak (w przypadku php), ale nie napisali CZEMU. Jak zmieniłem rozszerzenie mojego pliku aspx na jpg to się nie wykonał.

0

nie wiem jak w przypadku iis, ale w apache np w .htaccess dla konkretnego folderu można określić dla plików .php inny mime-type i skrypty się nie wykonają
ale to dość ryzykowne, bo możesz pominąć jakieś rozszerzenie - na przykład na niektórych serwerach wykonują się pliki .php5 (na serwerze jest dostępny php4 dla kompatybilności i php5 które wybiera się przez rozszerzenie), a kiedyś może dojść .php6 - lepiej zrobić listę dopuszczalnych rozszerzeń niż zabronionych

a co do zmienionego rozszerzenia to nie przychodzi mi nic na myśl poza błędem w innym miejscu
na przykład skrypt do pobierania tych plików który includuje pliki z uploadu zamiast przepisywać ich treść - w przypadku obrazków to zadziała, ale dla skryptu ze zmienionym rozszerzeniem wykona się skrypt...

ale takie zabezpieczenie jakie jest pokazane tam w artykule i tak jest do niczego - nadal można zawrzeć skrypt w całkiem poprawnym obrazku. Sprawdzanie rozmiaru obrazka przez GetImageSize nie wystarczy w takim przypadku

1 użytkowników online, w tym zalogowanych: 0, gości: 1