Як запобігти прямому доступу до файлу php з його батьківського файлу?


0

У мене є файл php в www.example.com/somefile.php, який включає файл в іншій каталозі www.example.com/directory/someotherfile.php. Як я можу перешкодити комусь отримати доступ до someotherfile.php безпосередньо?

Відповіді:


0

Використання файлів .htaccess.

Більше інформації: http://htaccess-guide.com/

Використовуючи файли .htaccess, ви можете заборонити доступ будь-кому, крім певного діапазону IP (наприклад, для Інтранету) або вимагати пароль.

Наприклад, необхідний пароль, за винятком внутрішнього діапазону IP:

AuthName "Staff only, please enter password"
AuthType Basic
AuthUserFile /path/outside/of/var/www/.htpasswd
Require valid-user
Order allow,deny
Allow from 192.168.0.
satisfy any

Переконайтеся, що ваша версія Apache2 підтримує файли .htaccess і перевірте конфігурацію.


На жаль, це не те, що я шукаю. Мені потрібно не допустити доступу до сторінки безпосередньо, а замість цього перейти через деякий файл file.php, щоб отримати доступ до файлу someotherfile.php. Також .htaccess - це багато зусиль для управління. Я не хочу паролів.
mavx771x

0

Просто поставте файл поза розміщеним простором, щоб www.example.com/somefile.php (наприклад, /home/usr/public_html/somefile.php) включає, наприклад, /home/usr/includes/someotherfile.php. Якщо це неможливо, зміна вищевказаного рішення .htaccess можлива там, де ви розміщуєте файли включення в каталог, до якого ніхто не може отримати доступ. Ваш файл php все одно зможе включити його. Вам не потрібно буде встановлювати паролі, просто заблокуйте всі запити до каталогу.


Як це можна зробити .htaccess без захисту пароля?
mavx771x

або замовлення відмовити, дозволити відмовити у всіх або вимагати всіх відмовлених залежно від версії apache
Павло
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.