رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مسدود سازی دسترسی مستقیم به یک فایل
#1
سلام

ابتدا افتتاح انجمن رو خدمت دوستان و مدیران عزیز تبریک عرض می کنم :)

یک سوال داشتم که ممنون میشم اهنمایی کنید :) اگر مسیر مناسبی رو برای ایجاد موضوع انتخاب نکردم پیشاپیش عذر میخوام از دوستان...
سلام
من یه فایل دارم با نام A.ini در مسیر "school/adm/lan/or/A.ini" (این مسیر از ریشه هاست هست).
کاری که می خوام کنم با کمک فایل htaccess که تو مسیر (school/adm/cps/MK) هست می خوام دسترسی به فایل A.ini رو محدود کنم

دستوات مختلفی رو بررسی کردم مثل دستور :

   
<Files ./adm/lan/or/A.ini>
 Order Allow,Deny
Deny from all
</Files>

که این تنها زمانی کار می کنه که این رو تو فایل htaccess که تو ریشه هاست هست درج کنیم و هنگامی که این کد رو تو فایل htaccess ی که تو مسیر (school/adm/cps/MK) هست درج می کنم عملا کار نمیکنه


حالا اگر با کد htaccess میشه که ممنون میشم کدی صحبح رو در اختیارم قرار بدید ، اگر هم کد php هست که میتونه کمکم کنه ممنون میشم اون رو هم در اختیارم قرار بدید :)
پاسخ
تشکر شده توسط:
#2
باید مسیر مطلق بدین. ضمناً برای ایجاد تنظیمات سفارشی برای پوشه های مختلف، بهتره فایل htaccess. رو داخل همون پوشه ای که فایل داخلش هست، قرار بدین.
پاسخ
تشکر شده توسط:
#3
(05-04-1394، 04:50 ب.ظ)ADMIN نوشته: باید مسیر مطلق بدین. ضمناً برای ایجاد تنظیمات سفارشی برای پوشه های مختلف، بهتره فایل htaccess. رو داخل همون پوشه ای که فایل داخلش هست، قرار بدین.

ممنون جناب شهرکی عزیز ;

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

با فایل htaccess تست کردم (کد زیر رو)، اما این تنها در صورتی جواب می ده که کد ها رو تو فایل htaccess ریشه هاست درج کنیم.
<Files ./adm/lan/or/A.ini>
 Order Allow,Deny
Deny from all
</Files>

راه حلی مد نظر شما هست که بتونه کمک حال من باشه؟
پاسخ
تشکر شده توسط:
#4
http://forum.ncis.ir/Thread-%D8%AC%D9%84...8%B4%D9%86


پ.ن: البته این برای فایل های php هستش، نیازی نیست حتما اون فایلتون رو .ini بذارید!
پاسخ
تشکر شده توسط: sonic69
#5
توی مسیری که فایلتون هست یه فایل PHP بسازین و با کد زیر مسیر فیزیکی و مطلق رو بدست بیارین و توی htaccess. استفاده کنید:
echo realpath(__FILE__);
پاسخ
تشکر شده توسط: sonic69
#6
امکانش هست کمی بیشتر راهنمایی کنید؟
پاسخ
تشکر شده توسط:
#7
فرض کنید فایل ini توی پوشه public_html/config هست. توی همون پوشه یه فایل بسازین به اسم دلخواه (مثلاً test.php) و این کد رو داخلش بنویسید:
<?php echo realpath(__FILE__); ?>

حالا توی مرورگر آدرس mysite.com/config/test.php رو فراخوانی کنید تا مسیر فیزیکی فایل PHP رو بدست بیارین. حالا کافیه بجای test.php توی مسیر فیزیکی اسم فایل ini خودتون رو بگذارین و داخل htaccess. توی خطی که با files> شروع میشه، قرار بدین.
پاسخ
تشکر شده توسط: sonic69
#8
تشکر جناب شهرکی عزیز .

من قرار این اسکریپت رو به n نفر بفروشم و میخوام به صورت خودکار دسترسی به این فایل بسته بشه. سوالم رو از نو مطرح می کنم و امیدوارم متوجه موضوع شده باشید.

من یک اسکریپت نوشتم و این اسکریپتم 1 پوشه به نام adm داره.

حالا داخل این پوشه adm دو پوشه به نام lan و cmp دارم.

داخل پوشه lan یه فایل با نام akm.ini دارم که می خوام توسط فایل htaccess که تو پوشه cmp هست دسترسی به این فایل رو محدود کنم.
کد های خیلی زیادی رو تست کردم اما متاسفانه همه کد ها در صورتی جواب میدند که اون ها رو داخل فایل htaccess ریشه درج کنیم :(

ممنون میشم با این تفاسیر کمکم کنید
پاسخ
تشکر شده توسط:
#9
اینو چک کنید (توی htaccess. داخل پوشه cmp بگذارین) :
<Files ./../lan/akm.ini>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Files>

فقط به یه نکته دقت کنید: htaccess. و کلاً Apache فقط درخواستهای تحت وب رو پوشش میدن و مدیریت میکنن (چون وب سروره نه چیز دیگه) و فرضاً اگه ازطریق سیستم عامل و شبکه و مواردی مثل Network Places توی ویندوز و... بخوان وارد بشن (هر مسیری که درخواست وب محسوب نشه)، کاری از Apache بر نمیاد و باید از فایروال استفاده کنید.
پاسخ
تشکر شده توسط: sonic69
#10
ممنون جناب شهرکی ، اما متاسفانه این نیز جواب نداد.

من روی هاست دارم کار می کنم و فکر نکنم از این جهت مشکلی وجود داشته باشه Ysmile

پیشاپیش از راهنمایی های شما سپاسگذارم
پاسخ
تشکر شده توسط:
#11
مهندس شهرکی عزیز ، همچنان در انتظار کمک های شما هستم :)
پاسخ
تشکر شده توسط:
#12
راستش من با همین روشها توی لوکال جواب گرفتم. درصورت امکان توی پیام خصوصی اطلاعات کنترل پانل هاست رو بدین روش امتحان کنم. درصورتی هم که امکانش نیست، فردا صبح توی پیام خصوصی تیم ویور بدین و خودتون به هاست وصل بشین تا از سیستم شما روی هاست کار کنم ببینم مشکل چیه.
پاسخ
تشکر شده توسط: sonic69
#13
جناب شهرکی بزرگوار
اطلاعات هاست و ... پ خ شد
پاسخ
تشکر شده توسط:
#14
الان متوجه منظورتون شدم. ببینید موضوع اینه که فایل های htaccess. توی Apache به ترتیب همون مسیرهایی که درخواست میشه خونده میشن. مثلاً اگه مسیر example.com/files/doc/abc.pdf رو درنظر بگیریم، این فایلهای htaccess. (درصورت وجود) به ترتیب پردازش میشن:
  1. public_html/.htacess
  2. public_html/files/.htacess
  3. public_html/files/doc/.htacess

بنابراین، شما نمیتونید توسط htaccess. که توی یه پوشه دیگه است، دسترسی به فایلی که توی یه مسیر دیگه قرار داره رو محدود کنید اما میتونید با قراردادن htaccess. توی همون پوشه ای که فایل قرار داره، دسترسیها رو کنترل کنید.
پاسخ
تشکر شده توسط: sonic69
#15
تشکر جناب شهرکی بزرگوار

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




کاربران در حال بازدید این موضوع: 1 مهمان