PDA

View Full Version : نحوه استفاده از GetSafeHtmlFragment()



aminmorteza
پنج شنبه 14 دی 1391, 21:56 عصر
سلام دوستان بنده برای حذف کدهای خطرناک از GetSafeHtmlFragment استفاده کردم ولی مشکل اینجاست که این تابع تمام تگ ها رو از جمله تگ های html رو حذف میکنه من این تابع رو برای گرفتن اطلاعات یک ادیتور استفاده کردم که تمامی تگ ها از جمله تگ b رو هم حذف میکنه از دوستان کسی هست بنده رو راهنمایی کنه باید چیکار کنم.

aminmorteza
جمعه 15 دی 1391, 21:43 عصر
کسی نیست بنده رو راهنمایی کنه؟واقعا کارم گیره ممنون میشم راهنمایی کنید.هرچی هم جستجو کردم هیچ اطلاعاتی پیدا نکردم.

fakhravari
جمعه 15 دی 1391, 22:22 عصر
خب کارش همینه. شما چی مد نظرت هست.

aminmorteza
جمعه 15 دی 1391, 22:46 عصر
سلام ممنون از اینکه جواب دادید ببینید GetSafeHtmlFragment تویه نسخه های قبلی تمام تگ ها رو حذف میکنه به جز تگ هایی که تویه whiteList هستش تویه این نسحه جدید دیگه همه تگ ها رو حذف میکنه که برای گرفتن مقادیر تکس باکس میتونه مناسب باشه ولی برای گرفتن مقادیر ادیتور نه.مثلا فرض کنید ادیتور کدی رو ساخته با این صورت <b>baranmenevis</b> وقتی با استفاده از این متد مقدار ادیتور رو میگیریم و تویه دیتابیس ذخیره میکنیم فقد یک barnemenevis ذخیره شده و تگ b رو حذف کرده.شما که میگید کارش همینه پس برای گرفتن مقدار یک ادیتور باید چیکار کرد یعنی چطوری میشه امنش کرد؟

fakhravari
یک شنبه 17 دی 1391, 23:01 عصر
/// <summary>
/// حذف کد های HTML و باقی گزاشتن مقادیر داخل تگ ها
/// </summary>
/// <param name="Html">رشته</param>
public static string Html_Del(string Html)
{
return Regex.Replace(Html, "<[^>]*>", string.Empty);
}
/// <summary>
/// حذف کد های HTML با مقادر داخل
/// </summary>
/// <param name="Html">رشته</param>
public static string Html_Del_All(string Html)
{
return Regex.Replace(Html, @"\<(.|\r|\n)*\>", string.Empty);
}

morteza_mokhtari
دوشنبه 18 دی 1391, 20:39 عصر
سلام آقای فخرآوری بنده نمیدونم که کدی که شما نوشتید آیا امن هستش یا نه ولی به نظر نمیرسنه که با این دو تابعی که شما نوشتید بتونه جایگزین مناسبی برای GetSafeHtmlFragment باشه دلیلم اینه که اگه به این راحتی بود که مایکروسافت میگفت از همین دو تا تابع استفاده بکنیم نه اینکه بره یک کتابخونه dll طراحی کنه اینکه با یک عبارت منظم ما بیایم تمام تگ ها رو حذف بکنیم منطقیه ولی به نظر نمیرسه که این پایان کار باشه حتما هکر ها ار روش های پیشرفته تری برای هک کردن استفاده میکنند که مایکروسافت کتابخونه براش طراحی کرده؟

fakhravari
دوشنبه 18 دی 1391, 21:40 عصر
2 دستور بالا کد های html سرکار داره.
یک جا نیاز داریم کد html داشته باشیم باید باید کد های java script حذف کنید.
که این امکان پذیر هست با regx ها.
یا dll که خود ماکروسافت گفته و اقای رادم یه نمونش گفته بود.