| |
|
|
| | На сайте есть папка, в которой хранятся текстовые файлы с именами типа abc.txt Система работает так, что если кому-то станет известно само наличие файла с неким именем, то он получит доступ в защищенную зону, ибо имя файла и есть пароль.
Напрямую пользователи к этой папке не обращаются, так что им даже не надо знать о ее существовании. К папке обращаются только скрипты. Один скрипт обращается для создания файла, другой для его считывания, и третий для удаления.
Можно ли как-то защитить информацию о паролях?
Как мне кажется, для этого можно было бы просто скрыть само существование этой папки, чтобы хакер, лазающий по сайту, просто не мог ее обнаружить. Есть такая техническая возможность?
Или папку как-нибудь запаролить, а в каждый скрипт, обращающийся к папке, вписать какой-нибудь код, открывающий доступ только ему.
Что посоветуете? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(14.11.2007 в 15:48)
| | | Я бы посоветовал использовать БД и хранить в ней хеши паролей | |
| |
|
|
| |
|
|
| |
для: Владимир55
(14.11.2007 в 15:48)
| | | Можно запретить прямое обращение к файлам с помощью .htaccess | |
| |
|
|
| |
|
|
| |
для: fiper
(14.11.2007 в 16:04)
| | | Что такое "прямое обращение"?
Сохранится ли при этом доступ по функциям file_get_contents, fopen, fputs, fclose, unlink? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(14.11.2007 в 16:22)
| | | прямое обращение - это прямо из браузера по ссылке, при этом самому апачу доступ к файлом будет разрешен. | |
| |
|
|
| |
|
|
| |
для: Director_Of_Zoo
(14.11.2007 в 16:25)
| | | То есть, скрипты будут работать с файлами этой папки как обычно, а посетители зайти не смогут?
Так? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(14.11.2007 в 16:37)
| | | скрипты будут работать если не обращаться к ним напрямую например вот так htt://123.ru/pass.php
Опять же с помощью хаткеса можно разрешить прямое обращение к любому файлу
Запрещаем прямое обращение к файлам *.txt
<Files ~ "\.txt$">
deny from all
</Files>
|
Разрешаем прямое обращение к файлу mod.php
<FilesMatch "mod.php">
allow from all
</FilesMatch>
|
| |
| |
|
|
| |
|
|
| |
для: fiper
(14.11.2007 в 16:40)
| | | То есть, в папку по имени pass с паролями я помещаю файл .htaccess, и в этом файле пишу только одну строку:
<Files ~ "\.txt$">deny from all</Files>
|
После чего посетитель даже не сможет прочесть имена текстовых файлов в этой папке.
Так?
Если же мне нужно иметь возможность запускать файл htt://123.ru/pass/pass.php, то я в файле .htaccess пишу вторую строку
<FilesMatch "pass.php">allow from all </FilesMatch>
|
Верно ли я понял Вашу инструкцию? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(14.11.2007 в 17:30)
| | | самое дельное что можно предложить это хранить шифрованные пароли в базе или файле. одном файле | |
| |
|
|
| |
|
|
| |
для: Владимир55
(14.11.2007 в 17:30)
| | | Верно | |
| |
|
|
| |
|
|
| |
для: fiper
(14.11.2007 в 20:20)
| | | Это как раз то, что надо!
Большое спасибо! | |
| |
|
|
| |
|
|
| |
для: Владимир55
(14.11.2007 в 15:48)
| | | Как вариант:
asd.txt.php
<? /*
user1;pass_user1
user2;pess_user2
*/ ?> | |
| |
|
|