jaykob
چهارشنبه 01 بهمن 1393, 11:44 صبح
سلام
من یک سوال داشتم . من از کلاس های این لینک (http://www.dotnettips.info/Post/562/%D9%85%D9%82%D8%A7%D8%A8%D9%84%D9%87-%D8%A8%D8%A7-xss-%DB%8C%DA%A9%D8%A8%D8%A7%D8%B1-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%87%D9%85%DB%8C%D8%B4%D9%87#comment-4305) در برنامه ام استفاده کردم مدل من به شرح زیر است :
public class Contact
{
public int Id { get; set; }
[AllowHtml]
public string Name { get; set; }
public string Address { get; set; }
}
و برای تست اکشن های زیر رو داخل کنترلر نوشتم :
[HttpGet]
public ActionResult ContactUs()
{
return View();
}
[HttpPost]
public ActionResult ContactUs(Contact con)
{
ViewBag.Name = con.Name.ToSafeHtml();
ViewBag.MyAddress = con.Address;
return View();
}
خوب همه چیز به درستی کار می کنه . اما سوالات من به شرح زیر است :
۱ - آیا واقعا نیاز نیست پروپرتی هایی رو که AllowHTML نیستند رو کنترل کنیم ؟ خود Asp.net MVC جلوی این قضیه رو می گیره ؟
۲ - اگر ما یک پروپرتی رو AllowHtml نگذاریم و قصد وارد کردن یک تگ Script داشته باشیم با خطای زیر مواجه می شویم :
A potentially dangerous Request.Form value was detected from the client (Name="<script>alert("aaa")...").
چطور این پیام رو سیستم نشون نده و یک پیام سفارشی نشون بده ؟
۳ - از متد های دیگه ای که در کلاس های این آموزش است در کجا ها با مثال عملیاتی می شه استفاده کرد ؟
تشکر
من یک سوال داشتم . من از کلاس های این لینک (http://www.dotnettips.info/Post/562/%D9%85%D9%82%D8%A7%D8%A8%D9%84%D9%87-%D8%A8%D8%A7-xss-%DB%8C%DA%A9%D8%A8%D8%A7%D8%B1-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%87%D9%85%DB%8C%D8%B4%D9%87#comment-4305) در برنامه ام استفاده کردم مدل من به شرح زیر است :
public class Contact
{
public int Id { get; set; }
[AllowHtml]
public string Name { get; set; }
public string Address { get; set; }
}
و برای تست اکشن های زیر رو داخل کنترلر نوشتم :
[HttpGet]
public ActionResult ContactUs()
{
return View();
}
[HttpPost]
public ActionResult ContactUs(Contact con)
{
ViewBag.Name = con.Name.ToSafeHtml();
ViewBag.MyAddress = con.Address;
return View();
}
خوب همه چیز به درستی کار می کنه . اما سوالات من به شرح زیر است :
۱ - آیا واقعا نیاز نیست پروپرتی هایی رو که AllowHTML نیستند رو کنترل کنیم ؟ خود Asp.net MVC جلوی این قضیه رو می گیره ؟
۲ - اگر ما یک پروپرتی رو AllowHtml نگذاریم و قصد وارد کردن یک تگ Script داشته باشیم با خطای زیر مواجه می شویم :
A potentially dangerous Request.Form value was detected from the client (Name="<script>alert("aaa")...").
چطور این پیام رو سیستم نشون نده و یک پیام سفارشی نشون بده ؟
۳ - از متد های دیگه ای که در کلاس های این آموزش است در کجا ها با مثال عملیاتی می شه استفاده کرد ؟
تشکر