سؤال
لدي خادم إنتاج مع Apache2، php، mysql.لدي موقع واحد فقط الآن (mysite.com) كمضيف افتراضي.أريد أن أضع phpmyadmin، وwebalizer، وربما webmin هناك.لقد قمت حتى الآن بتثبيت phpmyadmin، وهو يعمل ولكن يمكن الانتقال إلى الإنترنت بالكامل على mysite.com/phpmyadmin
كيف يمكنني تقليل الرؤية لأقول 192.168.0.0/16 بحيث لا يمكن الوصول إليها إلا من قبل الأجهزة الموجودة خلف جدار الحماية الخاص بي؟
المحلول
1) يمكنك القيام بذلك على مستوى خادم الويب.
استخدم قواعد السماح/الرفض لـ Apache.إذا لم يكن لديك وصول مباشر إلى ملف تكوين Apache، فيمكنك استخدام ملف htaccess.
<Directory /docroot>
Order Deny,Allow
Deny from all
Allow from 10.1.2.3
</Directory>
2) يمكنك القيام بذلك على مستوى التطبيق باستخدام ملف التكوين phpmyadmin.
معلمة التكوين هي: $cfg['Servers'][$i]['AllowDeny']['rules']
أمثلة على القواعد هي:
'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
'localnetA' -> SERVER_ADDRESS/8
'localnetB' -> SERVER_ADDRESS/16
'localnetC' -> SERVER_ADDRESS/24
يمكنك رؤية ذلك في وثائق تكوين phpMyAdmin الرسمية.
http://www.phpmyadmin.net/documentation/#servers_allowdeny_order
نصائح أخرى
وأنت سوف تستخدم وحدة نمطية في Apache دعا mod_access
ويمكنك إما تكوينه في ملف التكوين أباتشي أو ضمن ملف .htaccess في جذر الدليل و.
وإليك مثال القصير
<Directory /your_folder/location>
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
</Directory>
واستخدم <الموقع> التوجيه (إما في تكوين الملقم أو إذا سمح لها، في هتكس). هناك، يمكنك استخدام Allow from
لمنع الوصول إلى أي شخص آخر <م> إلا م> بعض المصادر معين.