PDA

View Full Version : امنیت بخش مدیریت



under22
پنج شنبه 04 دی 1393, 10:28 صبح
برای پروژم از ckeditor استفاده میکنم کنار اون هم از یکی از افزونه های اون به اسم kcfinder استفاده میکنم .
و این دو تا تو قسمت مدیریت قابل دسترسی هستند اما متوجه شدم kcfinder چون به صورت یه پنچره جدا باز میشه و داری url هست بخاطر همین از بیرون قابل دسترسی هست .
چون فایل هاش به صورت جاوا اسکریپت هست نمیشه داخلش کد PHP زد و همچنین چون پوشه اون بیرون protected هست و به مدیریت سشن Yii دسترسی نداریم باید چیکار کنیم

MMSHFE
پنج شنبه 04 دی 1393, 11:44 صبح
کد JS به تنهایی خطری ایجاد نمیکنه چون روی سیستم کلاینت اجرا میشه. مهم اینه که شما سایتتون رو درمقابل XSS و CSRF و... امن کنید تا توی صفحه سایت شما کد JS اضافه درج نشه.

under22
پنج شنبه 04 دی 1393, 11:55 صبح
کد JS به تنهایی خطری ایجاد نمیکنه چون روی سیستم کلاینت اجرا میشه. مهم اینه که شما سایتتون رو درمقابل XSS و CSRF و... امن کنید تا توی صفحه سایت شما کد JS اضافه درج نشه.
فکر کنم کامل متوجه نشدید الآن وب سایت به درستی کار میکنهو کامل هست ولی چون پلاگین kcfinder تو پنچره جدا باز میشه و url داره هر کسی که url اون رو بدونه از بیرون سایت میتونه اون پلاگین رو صدا کنه و فایل مورده نظرشو آپلود کنه اما من میخام کاری کنم که اون پلاگین فقط تو قسمت مدیریت باز بشه

MMSHFE
پنج شنبه 04 دی 1393, 12:34 عصر
راستش با این پلاگین کار نکردم ولی بطور کلی برای آپلود فایل از JS استفاده نمیکنم و شما هم میتونید توی اون صفحه با AJAX یک درخواست به یک اکشن توی سایت بفرستین و اون اکشن بگه که فرد لاگین شده یا نه و اگه نشده بود، اجازه آپلود نده (بقیه کدهای JS تولید نشه و همونجا بیاد بیرون یا پیام هشدار بده یا حتی کاربر رو به صفحه لاگین هدایت کنه).

mhf693
دوشنبه 08 دی 1393, 08:49 صبح
تو فایل کانفیگ kcfinder آپلود رو غیر فعال کن یعنی

'disabled' => true,
بعد تو صفحه ای که ادیتور رو بهش اضافه می کنی از طریق سشن مربوط به kcfinder که به صورت پیشفرض اسمش KCFINDER هست اپلود رو فعال کن

$_SESSION['KCFINDER']['disabled']=false
این جوری فقط برای کاربری که دسترسی به صفحه ای که توش ادیتور هست رو داره اپلود فعال می شه!
یه سر به سایت خود kcfinder بزن توضیحاتش کامله . راستی لازم نیست حتما از kcfinder استفاده کنی می تونی یه اپلودر ساده خودت بنویسی تو سایت ckeditor توضیحاتش رو داده!