Czy istnieje sposób użycia pomocnika TextBoxFor z zakodowanym tekstem?MVC3 TextBoxFor z zakodowanym tekstem
np Przy użyciu poniższego pomocnika MVC3 brzytwa widok silnika:
@Html.TextBoxFor(model => model.Description)
a wartość model.Description kodowanego, na przykład:
<script>alert();'</script>
wynik jest pole tekstowe z zakodowanym łańcuchem, , gdy pożądanym wynikiem jest pole tekstowe z dekodowanym ciągiem znaków:
<script>alert();'</script>
Czy istnieje sposób, aby użyć MVC TextBoxFor z zakodowanym ciągiem zamiast korzystania
@Html.TextBox("Description", Server.HtmlDecode(Model.Description))
?
Wydaje mi się, że może być ponad-kodowania rzeczy gdzieś. Dlaczego treść jest zakodowana w bazie danych? Zasadniczo powinno to * nie * być: kodować podczas wyświetlania, w przypadkach, w których chronisz się przed wstrzyknięciem. Kodowanie podczas zapisywania i dekodowania podczas edycji jest obarczone błędami i komplikacjami. –
To prawda, że masz rację, ale dobrze jest wiedzieć, że dane są zapisywane w zakodowanej bazie danych. Zgaduję, że druga metoda z @ html.TextBox jest najlepszym rozwiązaniem na razie. – Erann3