PDA

View Full Version : امنیت در آپلود آلبوم عکس



sam.iran67
پنج شنبه 23 شهریور 1391, 23:47 عصر
سلام من یه سایت طراحی کردم که یه بخش البوم داره و کاربران عکس ها ی خود را باید اپلود کنن و با توجه به سطح دسترسی آنها را اشتراک گذاری کنن.

مشکل اینجا هست که عکس ها چه طور باید آپلود بشن که امنیت بالا باشه.من عکس ها را در یک فولدر قرار می دم ولی هروقت که کاربر و یاهر کاربر دیگری حتی بدون لوگین آدرس فولدر upload را در ادرس بار مروگر بزنه می تونه عکس ها رو مشاهده کنه
راه حل خوب چیه که کاربران فقط عکس هایی را که مجازا ببین و حتما هم لوگین شده باشن و سایر عکس ها از دسترس دیگران خارج بشه.


البته یه چیزی که من می خواستم اینه که بشه عکس های توی فولدر Upload رو از دسترس کاربران خارج کرد و نتونن از آدرس بار مرورگر با آدرس مطلق فراخوانی کنن ولی بشه توی صفحات php نمایش داده بشه و هر کاربر عکس های خودش رو ببینه

sam.iran67
جمعه 24 شهریور 1391, 02:05 صبح
لطفا پاسخ بدید

plague
جمعه 24 شهریور 1391, 17:08 عصر
باید دایرکتوری آپلود رو ببری خارج از روت سایت
اینjجوری دیگه کاربرا نمیتونن دسترسی پیدا کنن به صورت مستقیم
بعد باید بیه اسکریپت با php بنویسی که همه عکس ها به اون ختم بشن و یه پارامتر مربوط به عکس رو حالا آیدیشون اگه تو دیتابیس ثبت میشن یا نامشون رو به اون صفحه بفرستن
تو اون صفحه با php میری عکس رو میخونی و محتویاتش رو برای یوزر چاپ میکنی
دیگه همونجا میتونی چک کنی کاربر لاگین کرده یا نه

shahriyar3
جمعه 24 شهریور 1391, 20:36 عصر
پرمیشن فولدر و کم کن که فقط ادمین اجازه دسترسی داشته باشه به اون فولدر
بعد هم از یک اسکریپت استفاده کن برای نمایش عکس ها بصورت غیر مستقیم
یعنی مثلا به این شکل


showimage.php?id=1

آیدی عکس رو بفرست بعد آدرس عکس رو توی اون صفحه از دیتابیس بخون بوسیله هدر که فرمت عکس و مشخص کنه خروجی بگیر ازش
میتونی بجای آیدی از یک رشته رندوم هم استفاده کنی که یکتا باشه

ravand
شنبه 25 شهریور 1391, 08:32 صبح
پرمیشن فولدر و کم کن که فقط ادمین اجازه دسترسی داشته باشه به اون فولدر
میشه اینو بیشتر توضیح بدید؟

sam.iran67
شنبه 25 شهریور 1391, 18:11 عصر
دوستان اگه کامل تر پاسخ بدن تشکر می کنم.به عبارتی من می خوام اگه کاربر صفحه ی مقابل خودش رو save کرد و کد html رو خوند به تگ Img که رسید ادرس اون رو اگه توی آدرس بار مرورگر زد عکس نشون داده نشه ولی من خودم بتونم عکسها رو برای کاربران به صفحاتشون بفرستم.

css-man
سه شنبه 28 شهریور 1391, 00:59 صبح
دوست عزیز نیازی به این کارها نیست

شما تو فولدری که عکسهات هستن یک فایل با نام index.html ایجاد کن

بزار خالی باشه هیچ کدی توش نباشه

همین باعث میشه کاربر اگر آدرس این فولدر ها روزد اتوماتیک به صفحه index که اونجا گذاشتی هدایت بشه

ravand
سه شنبه 28 شهریور 1391, 07:32 صبح
دوست عزیز نیازی به این کارها نیست

شما تو فولدری که عکسهات هستن یک فایل با نام index.html ایجاد کن

بزار خالی باشه هیچ کدی توش نباشه

همین باعث میشه کاربر اگر آدرس این فولدر ها روزد اتوماتیک به صفحه index که اونجا گذاشتی هدایت بشه

خب درسته . وقتی آدرس پوشه رو میزنی فایل index.html میاد . ولی وقتی طرف آدرس عکس داخل پوشه رو بزنه . عکس میاد. در این موقع باید چیکار کرد؟

ayub_coder
سه شنبه 28 شهریور 1391, 12:51 عصر
شما می تونی وقتی عکس رو آپلود کی می کنی یک نام رندوم براش تولید کنی و نام رو جایی تو دیتا بیس ذخیره کنی. و بعد از طریق اون نام به img ها لینک بدی.

ravand
سه شنبه 28 شهریور 1391, 14:03 عصر
شما می تونی وقتی عکس رو آپلود کی می کنی یک نام رندوم براش تولید کنی و نام رو جایی تو دیتا بیس ذخیره کنی. و بعد از طریق اون نام به img ها لینک بدی.

من فکر نمیکنم با دادن نام رندوم به عکس از دیده شدن توسط برخی کاربران حرفه ای جلوگیری بشه. شما میخوام نام رندوم بهش بدی که به ذهن بازدید کننده نرسه؟ خب یعنی راهی وجود نداره که روی پوشه رمز گذاشته بشه که هیچ کس نتونه ببینه؟