Сделать безопасный файл, который может прочитать PHP? - PullRequest
0 голосов
/ 24 сентября 2011

У меня есть такой файл, это база данных пользователей (udb.htm):

user1:pwd1
user2:pwd2
user3:pwd3

что-то вроде этого. Я хотел бы защитить этот файл и сделать его доступным для PHP через метод file_get_contents("udb.htm");, но не через окно браузера. Спасибо!

Ответы [ 5 ]

2 голосов
/ 24 сентября 2011

Вы можете:

  • загрузить файл в каталог вне публичного каталога html, но у php есть доступ
  • блокирует доступ к файлу, используя apache .htaccess или аналогичный
  • использовать базовую аутентификацию HTTP
  • сохранить ваши данные в фактической базе данных (mysql, mssql, oracle, sqlite)
1 голос
/ 24 сентября 2011

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

0 голосов
/ 24 сентября 2011

Это изменяет права доступа к вашему файлу перед открытием и удаляет права доступа при закрытии файла, убедитесь в разрешении веб-сервера для файла.

<?php

$file = 'udb.htm';
chmod($file, 0600);
$contents = file_get_contents($file);
chmod($file, 0000);

?>
0 голосов
/ 24 сентября 2011

То, что вы хотите сделать, это поместить базу данных ниже веб-пути.Например, если ваш веб-сайт находится по адресу www.example.com и он указывает на: / var / www / html

, то вы можете поместить свой файл паролей в /var/www/password/udb.htm*.1003 *

Затем получите доступ к нему из вашего php-скрипта как file_get_contents ("../../ password / udb.htm")

Ваш скрипт может получить доступ к файлу, но ваш веб-сервис не будет.

0 голосов
/ 24 сентября 2011

Переместите файл в папку, доступную для PHP, но не для веб-клиентов.

...