Co to jest format pliku ASHX?
Rozszerzenie .ashx identyfikuje ASP.NET Generic HTTP Handler - komponent po stronie serwera opracowany przez firmę Microsoft. W przeciwieństwie do standardowej strony ASP.NET, program obsługi .ashx przetwarza żądania HTTP bezpośrednio i przesyła odpowiedź (dane binarne, JSON, obrazy lub pliki) bez pełnego narzutu renderowania strony charakterystycznego dla zwykłej strony .aspx.
Oryginalny plik źródłowy .ashx jest plikiem tekstowym. Zaczyna się od linii dyrektywy, takiej jak <%@ WebHandler Language="C#" Class="MyHandler" %>, po której następuje klasa implementująca interfejs IHttpHandler. Kod wewnątrz jest napisany w języku C# lub VB.NET; objętość jest często stosunkowo niewielka, ponieważ programy obsługi są budowane celowo do pojedynczego zadania.
Pliki .ashx mogą pojawić się nieoczekiwanie podczas próby pobrania pliku ze strony internetowej. Dzieje się tak, gdy program obsługi serwujący plik - obraz, dokument PDF lub inny zasób - nie ustawi poprawnego nagłówka Content-Disposition, przez co przeglądarka zapisuje odpowiedź z sufiksem .ashx zamiast zamierzonego rozszerzenia.
Aby odzyskać taki plik, możesz użyć prostej sztuczki: zmień jego nazwę, zamieniając .ashx na poprawne rozszerzenie (na przykład .pdf dla dokumentu PDF lub .jpg dla obrazu), a następnie spróbuj otworzyć go za pomocą dowolnej aplikacji obsługującej ten format. Ta sama metoda dotyczy innych typów plików - po prostu zmień rozszerzenie na właściwe i otwórz plik programem obsługującym dany format.
Bezpieczeństwo
RYZYKO: LOWSamo rozszerzenie .ashx nie mówi nic o bezpieczeństwie - w adresie URL jest to po prostu punkt końcowy normalnej strony internetowej; traktuj witrynę tak, jak każdą inną (uważaj na phishing na stronach logowania). Pobrany plik, który dotarł jako .ashx, to zazwyczaj prawdziwy plik (PDF, obraz) z błędną nazwą i można go bezpiecznie zmienić oraz otworzyć. Zachowaj ostrożność tylko przy nieoczekiwanych pobraniach .ashx z niezaufanych źródeł - sprawdź je jako tekst lub pod kątem ich rzeczywistego typu przed otwarciem i nigdy nie uruchamiaj niczego, co próbują zainicjować.
Szczegóły formatu
w pigułceProgramy otwierające pliki ASHX
Szczegóły techniczne
specyfikacja| Deweloper | Microsoft |
| Platforma | ASP.NET (.NET Framework; wspierane również w trybie kompatybilności wczesnego ASP.NET Core) |
| Zawartość pliku | Zwykły tekst; zaczyna się od dyrektywy `<%@ WebHandler %>`, po której następuje treść klasy C# lub VB.NET |
| Zaimplementowany interfejs | `IHttpHandler` (synchroniczny) lub `IHttpAsyncHandler` (operacje asynchroniczne) |
| Składnia dyrektywy | `<%@ WebHandler Language="C#" Class="ClassName" %>` |
| Obsługiwane języki | C# i VB.NET |
| Domyślny typ MIME | `text/html`; program obsługi nadpisuje to, ustawiając `context.Response.ContentType` przed zapisaniem danych wyjściowych |
| Wzorzec dostępu URL | Wywoływany bezpośrednio jako punkt końcowy URL (np. `download.ashx?id=1`); nie jest renderowaną stroną przeglądarki |
| Rejestracja na serwerze | Mapowany w `web.config` lub mapowaniach programów obsługi IIS; środowisko uruchomieniowe ASP.NET kieruje pasujące żądania do klasy programu obsługi |
| Sygnatura binarna | Brak - plik tekstowy bez magicznych bajtów; pliki źródłowe są identyfikowalne tylko po początkowej linii dyrektywy |
| Stan sesji | Domyślnie wyłączony; włączany przez implementację `IRequiresSessionState` w klasie programu obsługi |
| Typowe zastosowania | Pobieranie plików, dynamiczne generowanie obrazów, punkty końcowe AJAX/JSON, strumieniowanie danych binarnych lub tekstowych |
| Nowoczesny zamiennik | Oprogramowanie pośredniczące (middleware) ASP.NET Core, Minimal APIs oraz rozszerzenia `IEndpointRouteBuilder` zastępują `.ashx` w .NET 5 i nowszych |
| Zachowanie pobieranego artefaktu | Przeglądarki zapisują `.ashx` jako sufiks pliku, gdy program obsługi pominie `Content-Disposition`; zmiana nazwy na rzeczywiste rozszerzenie (`.pdf`, `.jpg` itp.) odzyskuje plik |
| Wydano | 2002 (ASP.NET 1.0, .NET Framework) |
| Specyfikacja | learn.microsoft.com |
Konwersje ASHX
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki ASHX.