انتقال تجربیات در حوزه برنامه نویسی دات نت

۲ مطلب با کلمه‌ی کلیدی «Map Mode For Scroll Bar» ثبت شده است

امنیت در MVC - جلوگیری از ارسال اطلاعات اضافی در Model

در ورژن های قبلی MVC وقتی در سمت View اطلاعات توسط کاربر وارد میشد و صفحه post میشد در سمت سرور باید مدل را میگرفتیم و تک تک فیلدهای آن را متناظر با فیلدهای مدل مورد نظر خودمان قرار میدادیم که خیلی زمان بر بود. در MVC5 یک ویژگی اضافه شد که اتوماتیک اطلاعات وارد شده در سمت view را map میکرد.

        [HttpPost]
public ActionResult Index(Models.Person person)
{
return View();
}

فرض کنید در مثال بالا مدل Person یک فیلد Name و یک فیلد isAdmin دارد و شما در سمت view فقط یک input قراردادید با نام name وقتی کاربر فرم رو پست میکنه اتوماتیک فیلد Name مدل person برابر با مقدار ورودی کاربر قرار میگیره و bind میشه. اما مشکل اینجاست که اگه یک هکر صفحه view رو تغییر بده و یک checkbox اضافه کنه و فرض کنید به نحوه متوجه بشه که در مدل ما یک فیلد isAdmin نیز وجود داره و نام اون checkbox رو isAdmin بزار به راحتی در سمت سرور مقدار دلخواه وارد isAdmin میشه و کاربر میتونه نقش مدیر رو بگیره.

برای جلوگیری از این کار دستور Bind پیشنهاد میشه که درون اون با دستور include میتوانیم یک لیست سفید درست کنیم و بگوییم فقط این آیتم هایی که ما میگوییم bind شوند و یا توسط Exclude میتوان لیست سیاه درست کرد که در این صورت تمام آیتم ها bind میشوند به جز لیستی که اعلام میشود. مثال:

        [HttpPost]
public ActionResult Index([Bind(Exclude = "IsAdmin")] Models.Person oPerson)
{
return View();
}

در مثال بالا تمامی آیتم های مدل Person میتوانن مقدار دهی شوند به جز فیلد isAdmin حتی اگه در سمت view کنترل مربوط به isAdmin رو هم قرار بدهید باز هم مقدار نمیگیرد.



۲۰ شهریور ۹۵ ، ۱۱:۰۳ ۰ نظر موافقین ۰ مخالفین ۰
احسان احسانی اطهر

Map Mode For Vertical Scroll Bar

در ویژوال استدیو میتوان scroll bar را به صورت Map Mode نمایش داد که ممکنه برای شما کاربردی باشه. یکی از خصوصیت های این روش اینه که بدونه اینکه بخواهید صفحه را اسکرول کنید میتونید با نگه داشتن موس روی اسکرول بار سورس ها رو مشاهده کنید و مزیت دیگه اینه که میتونید بدون اینکه مجبور باشید Region ها رو باز کنید بتونید داخلشون رو ببینید.

نمایی از Map Mode Scroll bar



نحوه تغییر scroll bar در ویژوال استدیو:

از منو Tools گزینه Option را انتخاب کرده در صفحه باز شده کلمه Scroll را سرچ کنید در قسمت All languages گزینه Scroll Bar را انتخاب کنید و سپس در قسمت Behavior گزینه Use Map Mode را انتخاب کنید تیک گزینه Show Preview را هم بزنید.

۱۷ شهریور ۹۵ ، ۱۱:۵۰ ۰ نظر موافقین ۱ مخالفین ۰
احسان احسانی اطهر