View Full Version : کی و کجا از xss_clean استفاده کنم؟
H:Shojaei
دوشنبه 20 اردیبهشت 1395, 21:49 عصر
سلام
جطور و کجا باید از این تابع استفاده بشه؟
و این که آیا خود CI به صورت خودکار روی داده های هیچگونه فیلتری انجام میده یا نه!؟
مثلا وقتی ویو صدا زده میشه یا وقتی از تمپلیت پارسر استفاده میشه یا ...
الان من توی ویو وقتی یه مقدار که از دیتابیس خونده شده و به ویو با پارسر ارسال شده رو میخوام نمایش بدم باید از xss_clean برای نمایش حتما استفاده کنم یا خودکار انجام میشه!؟
plague
چهارشنبه 22 اردیبهشت 1395, 13:05 عصر
تو ورژن آخر خبر ندارم ولی تو ورژن های قبلی قبل از اینکه دیتا رو بریزی تو دیتابیس اجرا میکردی ... در واقع موقع ذخیره اجرا میکردیم نه موقع نمایش
یه گزینه هم تو کانفیگ هست که باعث میشه به صورت اتوماتیک برای همه دیتا های پست/گت شده اجرا بشه
H:Shojaei
چهارشنبه 22 اردیبهشت 1395, 21:59 عصر
تو ورژن 3 وقتی نمایش میدین باید اجراش بشه ولی من نمیدونم کی باید استفاده بشه!
یعنی تو تمام دیتا ها این تابع باید اجرا بشه یا مثلا موقعی که فرم استفاده میشه و داده دوباره میخواد واسه ولیدیشن استفاده بشه یا امثالهم کجا باید این کار انجام بشه!؟
plague
پنج شنبه 23 اردیبهشت 1395, 12:50 عصر
اگه از اون نظر میگید که باید موقعی که میخاید دیتایی رو که یه کاربر ثبت کرده به صورت عمومی برای دیگران نمایش بدین اجرا بشه
به طور خلاصه حمله xss اینه که یه کاربر میاد یه کدی که سمت کلاینت اجرا میشه (html/javascript ) میریزه تو دیتابیس ما به عنوان بخش از دیتایی که ما ازش میخایم بفرسته
وقتی ما این کد رو به کاربرای دیگه نشون میدیم براشون مزاحمت ایجاد میکنه
( مثلا یه alert ساده js پیام میپره بالا که شما هک شدین و از این حرفا - یا اینکه منتقلشون میکنه به یه صفحه دیگه از سایت خودش - یا کوکیشون رو میدزده )
به طور خلاصه شما هروقت دیتایی رو از کاربری گرفتید و خاستید به کاربر دیگه نشون بدین باید اجراش کنید
نمونه سادش بخش کامنت های سایت ....
H:Shojaei
پنج شنبه 23 اردیبهشت 1395, 21:29 عصر
اگه از اون نظر میگید که باید موقعی که میخاید دیتایی رو که یه کاربر ثبت کرده به صورت عمومی برای دیگران نمایش بدین اجرا بشه
به طور خلاصه حمله xss اینه که یه کاربر میاد یه کدی که سمت کلاینت اجرا میشه (html/javascript ) میریزه تو دیتابیس ما به عنوان بخش از دیتایی که ما ازش میخایم بفرسته
وقتی ما این کد رو به کاربرای دیگه نشون میدیم براشون مزاحمت ایجاد میکنه
( مثلا یه alert ساده js پیام میپره بالا که شما هک شدین و از این حرفا - یا اینکه منتقلشون میکنه به یه صفحه دیگه از سایت خودش - یا کوکیشون رو میدزده )
به طور خلاصه شما هروقت دیتایی رو از کاربری گرفتید و خاستید به کاربر دیگه نشون بدین باید اجراش کنید
نمونه سادش بخش کامنت های سایت ....
از xss اطلاع دارم استفادش تو فریمورک سوال بود این بخش جواب من بود:
"به طور خلاصه شما هروقت دیتایی رو از کاربری گرفتید و خاستید به کاربر دیگه نشون بدین باید اجراش کنید"
من میخواستم بدونم خوب فریمورک جایی خودکار این کارو میکنه یا نه همیشه باید دستی اعمال بشه که ظاهرا باید همه جا دستی اعمال بشه...
البته اگر تو کانفیگ ست نشده باشه که همیشه اجرا بشه...
ممنون ...
plague
شنبه 25 اردیبهشت 1395, 14:35 عصر
اگه میخای همه جا اجرا بشه 2 راه داری 1 - توی فایل کانفیگ گزینه global_xss_filtering رو بزار رو true اونوقت روی همه پست ها و گت های سایت اجرا میشه و دیتای تمیز توی دیتابیس میریزه دیگه نگرانی نداری موقع نمایش و نیازی نیست موقع نمایش اجرا کنی ... البته مشکلش اینه که دیگه نمیتونی کد html بریزی تو دیتابیس مثلا اگه ادیتور داشته باشه سایت (مخصوصا سمت ادمین ) که اون موقع باید دستی off کنی برای اون صفحات خاص 2 - یه تمپلیت انجین نصب کن و از تمپلیت انجین برای نمایش ویو استفاده کن اونا همشون یه گزینه ساده دارن برای جلوگیری از xss
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.