Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как защитить пароли пользователей?
 
 автор: Владимир55   (14.11.2007 в 15:48)   письмо автору
 
 

На сайте есть папка, в которой хранятся текстовые файлы с именами типа abc.txt Система работает так, что если кому-то станет известно само наличие файла с неким именем, то он получит доступ в защищенную зону, ибо имя файла и есть пароль.

Напрямую пользователи к этой папке не обращаются, так что им даже не надо знать о ее существовании. К папке обращаются только скрипты. Один скрипт обращается для создания файла, другой для его считывания, и третий для удаления.

Можно ли как-то защитить информацию о паролях?

Как мне кажется, для этого можно было бы просто скрыть само существование этой папки, чтобы хакер, лазающий по сайту, просто не мог ее обнаружить. Есть такая техническая возможность?

Или папку как-нибудь запаролить, а в каждый скрипт, обращающийся к папке, вписать какой-нибудь код, открывающий доступ только ему.

Что посоветуете?

   
 
 автор: Faraon   (14.11.2007 в 15:58)   письмо автору
 
   для: Владимир55   (14.11.2007 в 15:48)
 

Я бы посоветовал использовать БД и хранить в ней хеши паролей

   
 
 автор: fiper   (14.11.2007 в 16:04)   письмо автору
 
   для: Владимир55   (14.11.2007 в 15:48)
 

Можно запретить прямое обращение к файлам с помощью .htaccess

   
 
 автор: Владимир55   (14.11.2007 в 16:22)   письмо автору
 
   для: fiper   (14.11.2007 в 16:04)
 

Что такое "прямое обращение"?

Сохранится ли при этом доступ по функциям file_get_contents, fopen, fputs, fclose, unlink?

   
 
 автор: Director_Of_Zoo   (14.11.2007 в 16:25)   письмо автору
 
   для: Владимир55   (14.11.2007 в 16:22)
 

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

   
 
 автор: Владимир55   (14.11.2007 в 16:37)   письмо автору
 
   для: Director_Of_Zoo   (14.11.2007 в 16:25)
 

То есть, скрипты будут работать с файлами этой папки как обычно, а посетители зайти не смогут?

Так?

   
 
 автор: fiper   (14.11.2007 в 16:40)   письмо автору
 
   для: Владимир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> 

   
 
 автор: Владимир55   (14.11.2007 в 17:30)   письмо автору
 
   для: 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>


Верно ли я понял Вашу инструкцию?

   
 
 автор: bronenos   (14.11.2007 в 18:06)   письмо автору
 
   для: Владимир55   (14.11.2007 в 17:30)
 

самое дельное что можно предложить это хранить шифрованные пароли в базе или файле. одном файле

   
 
 автор: fiper   (14.11.2007 в 20:20)   письмо автору
 
   для: Владимир55   (14.11.2007 в 17:30)
 

Верно

   
 
 автор: Владимир55   (14.11.2007 в 23:29)   письмо автору
 
   для: fiper   (14.11.2007 в 20:20)
 

Это как раз то, что надо!
Большое спасибо!

   
 
 автор: Волки   (15.11.2007 в 14:09)   письмо автору
 
   для: Владимир55   (14.11.2007 в 15:48)
 

Как вариант:

asd.txt.php

<? /*
user1;pass_user1
user2;pess_user2
*/ ?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования