PDA

View Full Version : سوال: امنیت کنترل ckeditor



razeyeh_sh
شنبه 11 شهریور 1391, 14:21 عصر
من کنترل ckeditor 3.6.4 رو از سایت asp.net دانلود کردم و توی فروم سایتم ازش استفاده کردم.
حالا برای امنیتش گفتن کدکذاری کنم.منم از htmlencode استفاده کردم ولی حالا دیگه کاربر یه متن ساده هم بنویسه
تگ هارو کنارش نشون میده مثلا:
<p>salam</p>
چیکار باید کرد؟ که فقط مانع ورود کد مخرب بشه؟
کلا برای امنیت ادیتور چیکار باید کرد؟

meisam12
شنبه 11 شهریور 1391, 14:46 عصر
سلام
شما اول NuGet را نصب کنید
بعد از نصب برید داخل پروژه تان و روی References راست کلیک کنید یک گزینه به نام Manage NuGet packages اضافه شده روش کلیک کنید.
مرحله بعد یک صفحه ای باز می شود بروید قسمت online و Antixss را جستجو کنید و جستجو شد یک دکمه install می آورد دکمه را بزنید و به پروژه تان یک سری چیزهایی اضافه می شود.
مرحله بعدیش کد زیر را برای رفرنس به پروژه اضافه کن

using Microsoft.Security.Application;

و آخر اسم ادیتورت را توسط دستور sanitizer از کدهای آلوده پاک کن. sanitizer فقط کدهای آلوده را پاک می کنه و بقیه چیزها(مثل تگ ها و ...) را پاک نمی کند مثل کد زیر:

string PageText = Sanitizer.GetSafeHtmlFragment(txtPageText.Text);


من کنترل ckeditor 3.6.4 رو از سایت asp.net دانلود کردم و توی فروم سایتم ازش استفاده کردم.
حالا برای امنیتش گفتن کدکذاری کنم.منم از htmlencode استفاده کردم ولی حالا دیگه کاربر یه متن ساده هم بنویسه
تگ هارو کنارش نشون میده مثلا:
<p>salam</p>
چیکار باید کرد؟ که فقط مانع ورود کد مخرب بشه؟
کلا برای امنیت ادیتور چیکار باید کرد؟

meisam12
شنبه 11 شهریور 1391, 14:56 عصر
این هم لینک دانلود NuGet http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c/file/37502/25/NuGet.Tools.vsix
برای اطلاع بیشتر می توانید بروید به سایت http://www.nuget.org (http://www.nuget.org/)

razeyeh_sh
شنبه 11 شهریور 1391, 14:58 عصر
ممنون که جواب دادین.
من منتظر فایل هستم که گفتین آپلود میکنم:لبخندساده:

meisam12
شنبه 11 شهریور 1391, 15:24 عصر
لینکش را گذاشتم

ممنون که جواب دادین.
من منتظر فایل هستم که گفتین آپلود میکنم:لبخندساده:

razeyeh_sh
شنبه 11 شهریور 1391, 15:38 عصر
بله. ممنون

neda555
شنبه 11 شهریور 1391, 17:46 عصر
سلام
فرق نمیکنه واسه چه ادیتوری باشه؟
محدودیتی ایجاد نمیکنه؟

meisam12
شنبه 11 شهریور 1391, 18:16 عصر
خیر - وظیفه آن این است که فقط کدهای آلوده را پاک کند.

سلام
فرق نمیکنه واسه چه ادیتوری باشه؟
محدودیتی ایجاد نمیکنه؟

neda555
شنبه 11 شهریور 1391, 19:39 عصر
ممنون بعد چه طور میشه امکان copy و pase و cut را با کلیک از بین برد؟

meisam12
شنبه 11 شهریور 1391, 19:59 عصر
یعنی اینکه کاربر نتواند داخل ویرایشگر copy - cut , paste انجام دهد؟

ممنون بعد چه طور میشه امکان copy و pase و cut را با کلیک از بین برد؟

neda555
یک شنبه 12 شهریور 1391, 12:58 عصر
یعنی اینکه کاربر نتواند داخل ویرایشگر copy - cut , paste انجام دهد؟
چرا بتونه ولی با صفحه کلید بتونه کار کنه ...همین طور که در بسیاری سایت ها این طوریه

meisam12
یک شنبه 12 شهریور 1391, 17:26 عصر
سلام دوست عزیز
شما این دستورات را در fckEditor تغییر دهید. راست کلیک را نشان می دهد اما اجازه نمی دهد هیچ عملیاتی را انجام دهد.

FCKConfig.FirefoxSpellChecker = true ;
FCKConfig.SpellChecker = 'SpellerPages' ;
FCKConfig.BrowserContextMenu = true;
FCKConfig.BrowserContextMenuOnCtrl = true;

شاید بپرسید در کدام قسمت این کدها را باید بنویسید. اما شما اینها را در پروژه تان سرچ کنید. فرضاً FCKConfig.FirefoxSpellChecker را جستجو کردید پیش فرض false می باشد شما آنرا true کنید. بقیه هم همین طور.
موفق باشید.

چرا بتونه ولی با صفحه کلید بتونه کار کنه ...همین طور که در بسیاری سایت ها این طوریه

neda555
پنج شنبه 23 شهریور 1391, 20:58 عصر
ممنون ،من از CkEditor استفاده میکنم این کدها را پیدا نکردم
CKConfig.FirefoxSpellChecker = true ;

mg2010
سه شنبه 23 مهر 1392, 09:39 صبح
سلام من از fckEditor استفاده کردمerror زیر را می دهد ؟
N0 relevant source lines

Mohammad_dn
سه شنبه 23 مهر 1392, 15:22 عصر
پس چرا من هرچی تو قسمت آنلاین جستو جو میکنم پیغام خطا مبنی بر اینکه نمیتونه وصل شه میده؟؟؟نمیشه شما فایل هایی رو که خودتون گرفتیدو اینجا بزارید؟

mohammad973
پنج شنبه 25 مهر 1392, 00:15 صبح
سلام
شما اول NuGet را نصب کنید
بعد از نصب برید داخل پروژه تان و روی References راست کلیک کنید یک گزینه به نام Manage NuGet packages اضافه شده روش کلیک کنید.
مرحله بعد یک صفحه ای باز می شود بروید قسمت online و Antixss را جستجو کنید و جستجو شد یک دکمه install می آورد دکمه را بزنید و به پروژه تان یک سری چیزهایی اضافه می شود.
مرحله بعدیش کد زیر را برای رفرنس به پروژه اضافه کن

using Microsoft.Security.Application;

و آخر اسم ادیتورت را توسط دستور sanitizer از کدهای آلوده پاک کن. sanitizer فقط کدهای آلوده را پاک می کنه و بقیه چیزها(مثل تگ ها و ...) را پاک نمی کند مثل کد زیر:

string PageText = Sanitizer.GetSafeHtmlFragment(txtPageText.Text);



از این میشه برای هر کنترلی استفاده کرد؟