2016-03-22 2 views
0

Хостинг, который я использую, позволяет защитить файлы с помощью имени пользователя и пароля. Будет ли это «сломать» что-то, если я положу пароль на файл, который включен или требуется на многих php-страницах моего сайта?Защита файлов php с помощью пароля

+0

Я предполагаю, что это защита .htpasswd (http basic auth) - в этом случае нет ... но действительно ли вам нужно разрешить доступ к файлу include через http вообще? – CD001

+0

@FastTurtle Я не думаю, что это защита паролем, о котором говорит OP. Я считаю, что CD001 на правильном пути, это просто HTTP-аутентификация. – Devon

+0

basicaly, когда я открываю заблокированную страницу, появляется всплывающее окно с полями для имени пользователя и пароля –

ответ

1

Предполагая, что это HTTP-аутентификация, это не защищает паролем файловую систему, поэтому включение файлов из файловой системы не будет затронуто. Это также не препятствует чтению файлов из файловой системы другими пользователями, если у них есть разрешения на это.

Это будет отображать только запрос пароля для пользователей, которые имеют доступ путь к файлу с веб-сервера (HTTP: //)

Если у вас действительно есть личные файлы, которые вы хотите только быть включены в ваш PHP скрипт, то вы можете полностью их исключить из public_html (или корневого каталога веб-сервера).

, например:

  • приложения/private.php
  • public_html/index.php

Внутри index.php:

<?php 
include "../app/private.php"; 
/* Other code */ 
?> 

В приложении находится вне public_html , он не сможет обслуживаться веб-сервером, но вы все равно можете включить его из файловой системы.

+0

Просто примечание: если у вас есть странный хост, который не позволяет создавать файлы за пределами docroot (обычно это происходит с некоторыми совместно используемыми хосты в тот же день - возможно, все еще для всех, что я знаю), вы также можете запретить * include * каталоги читать через HTTP с помощью файла '.htaccess', содержащего только« Deny from all » – CD001

Смежные вопросы