آقای Sergey Akopov در یک مقاله در این آدرس یک سری کلاس Html Helper و Attribute ساخته و ارائه کرده که در سمت View و بعنوان اتریبیوت روی فیلدهای مدل قابل استفاده است.
اگر هیدن فیلد خاصی رو در سمت ویو بخواهید رمزنگاری کنید از چنین دستوری بر اساس کلاس های ایشان استفاده خواهد شد:
@Html.SecureHiddenFor(model => model.SomeProperty)
در نتیجه، مقدار فیلد فوق در صورت Inspect کردن عنصر مورد نظر در صفحه این گونه دیده خواهد شد:
<input id="SomeProperty" name="SomeProperty" type="hidden" value="I love lamp">
<input name="__SomePropertyToken" type="hidden" value="zqb7MIL2Y5F3jL96ncdSZOmetL8g8RAWZP8Y/w/jUAKJ89GcUViRWOZ/XtQhtICMFZb4sQtZLOpqK/WyC0TFP0B6r+3nObFGDjb0U459yzQbadC4+DLIsTmhyYeT+ZT+ bnW1AEP2fgVyXXSduYIf5vns7g9nhRWTgJo8xF6NQyT6kNgyl5 puq+BYc8dfhMXn">
پس از اضافه کردن هلپر فوق در ویو، لازم است در بالای اکشن مورد نظر در کنترلر نیز اتریبیوت ValidateSecureHiddenInputs را به این صورت اضافه کنید:
[ValidateSecureHiddenInputs("SomeProperty")]
public ActionResult Index(MyViewModel model)
{
return View();
}
این اتریبیوت بررسی می کند آیا مقدار هیدن فیلد مورد نظر همانی هست که باید باشد و یا دستکاری شده است.
برای دریافت کلاسهای مورد استفاده در نمونه کدهای فوق به آدرس ذکر شده در ابتدای این مطلب مراجعه کنید.