Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 17891|Odpowiedź: 0

[ASP.NET] Obejście dla MVC pozwala wykryć potencjalnie niebezpieczną wartość Request.Form od klienta

[Skopiuj link]
Opublikowano 25.11.2016 16:33:35 | | | |


[HttpRequestValidationException (0x80004005): Od klienta... Potencjalnie niebezpieczna wartość Request.Form jest wykrywana w wartości Request.Form. ]
System.Web.HttpRequest.ValidateString(String s, wartość ciągu łańcucha, nazwa kolekcji łańcucha)



1. W rzeczywistości błąd został jasno wyjaśniony, a rozwiązanie przedstawione:


Potencjalnie niebezpieczna wartość Request.Form została wykryta przez klienta (txtUEditor="<p>a</p>").

Opis: Proces walidacji żądań wykrył potencjalnie niebezpieczne wartości wejściowe klienta i przetwarzanie żądania zostało przerwane. Ta wartość może wskazywać, że istnieje próba naruszenia bezpieczeństwa aplikacji, na przykład atak skryptowy między witrynami. Aby strona mogła nadpisać ustawienia walidacji żądań aplikacji, ustaw właściwość requestValidationMode w sekcji konfiguracji httpRuntime na requestValidationMode="2.0". Przykład: <httpRuntime requestValidationMode="2.0" />. Po ustawieniu tej wartości <pages> walidacja żądań może zostać wyłączona, ustawiając validateRequest="false" w dyrektywie Page lub w sekcji konfiguracji. Jednak w takim przypadku zaleca się, aby aplikacja wyraźnie sprawdzała wszystkie dane wejściowe. Zobacz http://Go.microsoft.com/fwlink/?LinkId=153133 więcej informacji.

Szczegóły wyjątku: System.Web.HttpRequestValidationException: Potencjalnie niebezpieczna wartość Request.Form została wykryta przez klienta (txtUEditor="<p>a"a</p>).

2. Innym sposobem jest ustawienie go w sekcji Strony w web.config, na przykład:




Ale ta metoda nie jest dobra, jest zbyt brutalna, ponieważ powoduje, że wszystkie strony całego projektu przestają weryfikować przesłane treści, a bezpieczeństwo jest znacznie obniżone.

3. Zalecane praktyki:
Dodaj atrybut:[ValidateInput(false)] do Akcji, który jedynie uniemożliwi stronie weryfikację zgłoszenia i nie wpłynie na inne strony.




Uwaga: Jeśli Request.Form["XXX"] zostanie uzyskany w ten sposób, potencjalnie niebezpieczna anomalia nadal zostanie wykryta, więc upewnij się, że dane są dostępne w parametrach kontrolera!




Poprzedni:Weryfikacja EasyUI potwierdza, że hasło i nowe hasło są spójne
Następny:Ueditor Multi-Image Upload usuwa funkcje zarządzania online i wyszukiwania obrazów
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com