كيفية إزالة. htaccess حماية كلمة المرور من الدليل الفرعي
-
07-07-2019 - |
سؤال
لدي كلمة مرور محمية موقع الويب الخاص بي بأكمله باستخدام .htaccess
لكنني أود فضح إحدى الدلائل الفرعية بحيث يمكن عرضها بدون كلمة مرور.
كيف يمكنني تعطيل حماية كلمة مرور HTACCESS لدليل فرعي؟ على وجه التحديد ما هو .htaccess
بناء الجملة.
هنا أنا .htaccess
ملف يتم وضعه في جذر FTP الخاص بي.
AuthName "Site Administratrion" AuthUserFile /dir/.htpasswd AuthGroupFile /dev/null AuthName secure AuthType Basic require user username1 order allow,deny allow from all
المحلول
تحتاج إلى إنشاء جديد .htaccess
ملف في الدليل المطلوب وتضمين Satisfy any
التوجيه فيه مثل ذلك ، حتى تصل إلى Apache 2.3:
# allows any user to see this directory
Satisfy Any
تم تغيير بناء الجملة في Apache 2.4 ، وهذا له نفس التأثير:
Require all granted
نصائح أخرى
إضافة إلى إجابة Ragez ، استخدمت هذا في توجيهات الخادم:
<Directory /var/www/protected/>
AuthType Basic
AuthName "Production"
AuthUserFile /path/to/.htpasswd
Require valid-user
</Directory>
<Directory /var/www/protected/unprotected>
Satisfy Any
</Directory>
رائع. شكرا Ragez!
ببساطة إنشاء جديد .htaccess
في الدليل الفرعي المطلوب مع هذا التوجيه:
Allow from all
يمكنك تقييد IP الخاص بك فقط بـ:
Allow from x.x.x.x
نرى : http://httpd.apache.org/docs/current/mod/mod_access_compat.html
تحتاج إلى إضافة ملف .htaccess آخر إلى الدليل الفرعي الذي يتجاوز المصادقة. .htaccess Cascades للأعلى ، أي أنها ستنظر في المجلد الحالي ، ثم ترتفع مستوى وما إلى ذلك.
فيما يلي طريقة للسماح للدليل الفرعي "FOO" من خلال المصادقة الأساسية من ملف .htaccess الرئيسي على موقع:
AuthType Basic
AuthName "Password Required"
AuthUserFile /dir/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/foo/#
Require valid-user
ملاحظة: هذا يعمل في Apache 2.4. لم أكن أكد للإصدارات السابقة.
إذا كنت ترغب في منع أي مباشرة من مصادقة HTACCESS ، فيمكنك استخدام التعليمات البرمجية التالية في ملف HTACCESS الخاص بك في الأعلى.
AuthType Basic
AuthName "Enter Pass"
AuthUserFile /home/public_html/.htpasswd /*PATH TO YOUR .htpasswd FILE*/
Require valid-user
SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow
Order allow,deny
Allow from env=allow
أيضًا إذا كنت ترغب في منع دلائل متعددة ثم أضف
SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow
في كثير من الوقت العديد من الدلائل ، تريد إزالة من الوقاية من HTACCESS.