PDA

View Full Version : سوال: استفاده از تنظیمات htaccess جهت عدم آپلود و اجرای برخی فایلها



پدرخوانده
جمعه 27 مرداد 1391, 02:31 صبح
جهت آپلود فایلها (تصاویر و فیلم و صوت و ...) مجبور به اعطای مجوز 777 به یک شاخه در سایت خود شده ام و در کنترل پنل سایت (بخش مدیریت سی ام اس) قابلیت آپلودی به مدیرسایت داده که فایلهای خود را از طریق آن آپلود کند
شنیده ام که به علت وجود مجوز نوشتن به این شاخه امکان هک و نفوذ از طریق این شاخه هست (البته مسئول هاست به بنده توضیح دادند که این برای گذشته بود که مثلا شخص از سرور همان سایت می تواند به شاخه شما در سایت شما سیم لینک زده و فایل آپلود کرده و سایت شما را هک کند و الان معمولا در اکثریت سرورها این قابلیت symlink غیرفعال هست)
علی ای حالا
سؤال بنده آن است که برای انجام این کار (آپلود فایلها (تصاویر، صوت و ...) ) به جز این روش (دادن مجوز نوشتن به یک شاخه خاص) از چه راهی می توان استفاده کرد؟
البته در حالت فعلی به هنگام آپلود توسط کد php (سمت سرور) کنترل می شود که چه فایلی (پسوند و نوع فایل) و چه حجم فایلی آپلود می گردد ولیکن جهت اطمینان بیشتر می خواستم با استفاده از قابلیتهای htaccess به صورت کلی (سوای سورس کد خودم) و بلکه از طریق هاست از آپلود برخی فایلها (و حتی در صورت آپلود فایل مربوطه از اجرای آن ) جلوگیری به عمل آید

کد مربوط به عدم اجرای اسکریپت در شاخه مربوطه


AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI


ولیکن این کد فوق درست عمل نکرده و همچنان اطمینان نیست (البته این کد از بابت عدم اجرای برنامه ها با پسوندهای فوق الذکر هست ) و کد مربوطه جهت عدم آپلود (دریافت) فایل های متفرقه در شاخه مربوطه نیست
با تشکر

ayub_coder
جمعه 27 مرداد 1391, 17:27 عصر
شما حتما نیاز نیست که برای آپلود فایل مجوز 777 را برای پوشه مورد نظر بذارید. شما می تونید برای دایرکتوری مورد نظر مجوز 775 یا 776 یا 764 را بدهید.
عملیات آپلود بر روی سرور توسط آپاچی انجام می پذیرد و در مورد دایرکتوری مورد نظر اگر آپاچی (همان گروه پوشه مورد نظر) مجوز خواندن و نوشتن رو پوشه مورد نظر را داشته باشد کفایت می کند.
البته مطمئن ترین راه قرار دادن پوشه آپلود جایی خارج از پوشه ی روت (www) می باشد. در این صورت دستیابی به فایلهای آن از طریق وب ممکن نیست. و امنیت فایلهای آپلودی تا حد زیادی بالا می رود.

پدرخوانده
دوشنبه 30 مرداد 1391, 23:32 عصر
با تشکر از پاسخ شما البته این نکته مربوط به پرمیشن در هاستهای مختلف متفاوت بوده (مثلا در چندین سایت با کنترل پنل Cpanel با پرمیشن 755 هم فایل در شاخه مربوطه آپلود شده ولیکن مثلا در کنترل پنل DirectorAdmin با پرمیشن 776 کار نکرده ) البته برداشت بنده این است که این موضوع ربطی به نرم افزارهای کنترل پنل نداشته و در تنظیمات سرور که توسط ادمین انجام می شود صورت می پذیرد
نکته مربوط به انجام آپلود در شاخه خارج از www را نیز قبلا من خوانده بودم ولیکن نتوانستم اجرایی کنم
اولا آنکه به هنگام مسیر دهی در php با کاراکتر / که اشاره به روت آنچه قابل دسترس برای سورس کد هست به شاخه www اشاره می کند نه عقبتر از آن
ولیکن حال با تصور آنکه به هر نحوی به شاخه خارج از مسیر www در کد php خود (کد آپلود) دسترسی پیدا کردیم چگونه می توانم به هنگام مسیر دهی تصاویر در داخل سایت (به هنگام استفاده از این تصاویر (فایلهای آپلود شده) آن را مسیردهی کنیم (دیگر نمی توان با اشاره به نام سایت و بعد شاخه مربوطه و نام فایل آن را صدا زد مثل: www.mydomain.com/image_user/x.jpg ) ممنون میشوم در این مورد راهنمایی کنید

رضا قربانی
سه شنبه 31 مرداد 1391, 14:55 عصر
http://barnamenevis.org/showthread.php?276467-%D8%AA%D8%B1%D9%81%D9%86%D8%AF%D9%87%D8%A7%DB%8C-.htaccess/page8

این تاپیک رو به دقت بخونید و به راحتی می تونید مشکلتون رو حل کنید .