آپلود فایلهای خصوصی به سرور

phpweb

Active Member
من یه سیستم آپلود فایل عمومی ایجاد کردم. فایلهای که از طریق این سیستم آپلود می شن، توی پوشه عمومی وب سایت قرار می گیرن و هر بازدیدکننده ای می تونه با وارد کردن لینک این فایلها، اونها رو مشاهده کنه.

من می خوام یه سیستم آپلود فایلهای خصوصی ایجاد کنم که فقط شخص آپلود کننده بتونه به فایلها دسترسی پیدا کنه.

شما چه پیشنهادی برای طراحی این سیستم دارید، بنظرتون فایلهای خصوصی رو کجا قرار بدم که ایمن باشن؟
 

Masoud1365

مدیر انجمن
دسترسی رو با htaccess محدود کنید و فایلهای مورد نظر رو به صورت غیر مستقیم نمایش بدید یعنی مثلا اینجوری :
siitename.com/upload/files.php?id=115&sessionID=546316546461435464 یه همچین چیزی ! که مثلا هم آیی دی فایل رو بگیره هم یه چیزی هم بریزی داخل سشن بعد چک کنی اگر جفتش ok بود فایل رو با هدر یا نمایش بدی یا اجازه بدی کاربر دانلود کنه !
موفق
 

phpweb

Active Member
دسترسی رو با htaccess محدود کنید و فایلهای مورد نظر رو به صورت غیر مستقیم نمایش بدید یعنی مثلا اینجوری :
siitename.com/upload/files.php?id=115&sessionID=546316546461435464 یه همچین چیزی ! که مثلا هم آیی دی فایل رو بگیره هم یه چیزی هم بریزی داخل سشن بعد چک کنی اگر جفتش ok بود فایل رو با هدر یا نمایش بدی یا اجازه بدی کاربر دانلود کنه !
موفق
برای محدود کردن با استفاده از htaccess باید چه روشی بکار ببرم؟ آی پی ها رو محدود کنم یا روش دیگه ای هست؟
در این مورد لطفا توضیح بدید.
 

Masoud1365

مدیر انجمن
برای محدود کردن با استفاده از htaccess باید چه روشی بکار ببرم؟ آی پی ها رو محدود کنم یا روش دیگه ای هست؟
در مورد محدود کردن یوزر قبلا بحث شده سرچ کنید !
ضمن این که میتونید فایل رو مثلا جایی آپلود کنید که یوزر دسترسی نداشته باشه مثلا یه پوشه بالا تر از www
 

phpweb

Active Member
در مورد محدود کردن یوزر قبلا بحث شده سرچ کنید !
ضمن این که میتونید فایل رو مثلا جایی آپلود کنید که یوزر دسترسی نداشته باشه مثلا یه پوشه بالا تر از www
فرض کنید که 50000 کاربر دارید، با توجه به روشی که می گید، باید کلمه رمز این 50 هزار نفر رو توی فایل htaccess ذخیره کنم؟

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

در این مورد چه نظری دارید؟
 

Milad

Well-Known Member
Deny From All اجازه نمیده هیچ فایلی قابل مشاهده بشه ، هر فایل که آپلود میشه ، اسم + آپلود کننده رو تو db ذخیره کن بعد وقتی درخواست میشه چک کن با header براش بفرست ( اگر مجوز داشت )
 

phpweb

Active Member
deny from all اجازه نمیده هیچ فایلی قابل مشاهده بشه ، هر فایل که آپلود میشه ، اسم + آپلود کننده رو تو db ذخیره کن بعد وقتی درخواست میشه چک کن با header براش بفرست ( اگر مجوز داشت )
این بخش از مطلبتون رو متوجه شدم.
deny from all اجازه نمیده هیچ فایلی قابل مشاهده بشه ، هر فایل که آپلود میشه ، اسم + آپلود کننده رو تو db ذخیره کن
اما متوجه این مطلب نمی شم. لطفا در این مورد بیشتر توضیح بدید.
بعد وقتی درخواست میشه چک کن با header براش بفرست ( اگر مجوز داشت )
 
آخرین ویرایش:

Milad

Well-Known Member
یه فایل htaccess بساز تو فولدری که میخوای فایل هاش قابل مشاهده نباشه با محتوای Deny from all . بعد با استفاده از db تعیین مجوز کن و ...
 

phpweb

Active Member
یه فایل htaccess بساز تو فولدری که میخوای فایل هاش قابل مشاهده نباشه با محتوای Deny from all . بعد با استفاده از db تعیین مجوز کن و ...
فکر کنم منظورتون اینه که اگر با استفاده از htaccess دسترسی به فایل ها یا فولدها رو محدود کنیم، این محدودیت شامل اسکریپتهای پی اچ پی نصب شده روی سرور نمی شه و این اسکریپتها می تونن بدون محدودیت به فایلها دسترسی داشته باشن. حالا برای اینکه من از این نکته استفاده کنم، باید به کمک htaccess دسترسی رو برای همه محدود کنم و با استفاده از پی اچ پی و دیتابیس کاربر رو تایید اعتبار کنم و اگر کاربر مجوز دسترسی به فایل رو داشت، فایل رو به کاربر نشون بدم. این مطلب که گفتم درست هست؟

اگر جواب مثبت هست، لطفا بگید که توی سرورهای اشتراکی این روش ایمن هست یا نه؟ چون توی این سرور ها، سایر کاربران که توی سرور اشتراک دارن، می تونن با استفاده از اسکریپتهای خودشون به این فایلها دسترسی داشته باشن. دقیقا مثل پوشه tmp

لطفا توضیح بدید.
 

جدیدترین ارسال ها

بالا