Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2009, 16:06   #1
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию Как запаролить php файл

Я собираюсь выложить сайт на хостинг, меня интересует есть ли возможность закрыть доступ или как нибудь запаролить доступ к файлу .php. Открыв его видно все пароли для базы данных. Как это сделать?
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 27.11.2009, 16:17   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

.htaccess вам в помощь...
зы: закрыть извне или от прова?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.11.2009, 16:25   #3
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
.htaccess вам в помощь...
зы: закрыть извне или от прова?
Если можно, то по подробнее.
Про .htaccess погуглил, нашел код такой
Цитата:
<Files index.php>
AuthName "Users zone"
AuthType Basic
AuthUserFile /pub/home/iukash/.htpasswd
</Files>
Добавил его в .htaccess и что дальше? Как открывал его без пароля так и открываю, и вообще где задавать этот пароль?
Это я так понял закрытие от провайдера.
А как это сделать извне?
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 27.11.2009, 16:38   #4
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Вы для начала напишите от кого Вы хотите защитить файл и какой хостинг?
Если от просмотра через http то юзер и так паролей не увидит, а для верности можно .htaccess вставить.
Если от хостера то это для этого, надо купить Zend Studio и перевести код в транскрипт код, что усложнит взлом - по крайней мере пароли не будут в "открытом" виде.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 27.11.2009, 16:39   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
/pub/home/iukash/.htpasswd
а что у вас эта директория создана? гуглим дальше, примеров много

Цитата:
Это я так понял закрытие от провайдера.
А как это сделать извне?
это был вопрос к вам, что вы имели ввиду запаролить, от кого?
в данном случае это ограничение на "извне"
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.11.2009, 16:59   #6
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Вы для начала напишите от кого Вы хотите защитить файл и какой хостинг?
От юзеров хочу защитить сайт, т.е. ведь можно сейчас скачать сайт на компьютер а в файле пароль к базе данных.
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 27.11.2009, 17:00   #7
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Ладно, буду гуглить дальше, просто думал что кто нибудь сможет доступно описать как это сделать, т.к. подобных тем на форуме не было!
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 27.11.2009, 17:14   #8
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
От юзеров хочу защитить сайт, т.е. ведь можно сейчас скачать сайт на компьютер а в файле пароль к базе данных.
Можно скачать только результат работы скриптов, сами скрипты скачать нельзя.

вот так закрывается файл на apache
Код:
<Files index.php>//здесь пишем какой файл закрыть
order deny,allow
deny from all//здесь пишем от кого
allow from 127.0.0.1//здесь кому открыть 
</Files>
Стрелок-охотник

Последний раз редактировалось mv28jam; 27.11.2009 в 17:36.
mv28jam вне форума Ответить с цитированием
Старый 27.11.2009, 17:38   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

процитирую...
Цитата:
Пример: как закрыть директорию паролем

Одна из стандартных задач, которая решается путем использования .htaccess, это ограничение доступа к определенному каталогу на сервере. Например, нужно дать доступ к определенному каталогу отдельным посетителям, снабдив их при этом уникальным логином и паролем.

В каталоге, к которому хотим ограничить доступ по паролю, создаем файл .htaccess с такими директивами:
AuthType Basic
AuthName "Some Name"
AuthUserFile /home/uXXXXX/.htpasswd
require valid-user

Путь /home/uXXXXX/.htpasswd обозначает полный путь к файлу паролей на диске нашего сервера. Если, например, вы поместите файл .htpasswd (в нем будут пароли) в домашний каталог, куда вы попадаете зайдя на сервер по FTP, то путь к этому файлу будет иметь вид /home/uXXXXX/.htpasswd, где uXXXXX — наименование вашей виртуальной площадки (например, u12345).

В директиве AuthUserFile указываем абсолютный путь к файлу с логинами/паролями, который мы создадим чуть позже. Если вы создаете файл .htaccess на своем компьютере, а не сразу на сервере при помощи текстового редактора, обратите внимание на то, что .htaccess должен передаваться по FTP строго в текстовом (ASCII) режиме.

Создаем файл паролей. Файл с паролями должен содержать строки вида loginassword. Пароль должен быть зашифрован с использованием алгоритма MD5. Один из способов создать такой файл — воспользоваться программой, входящей в поставку Apache — htpasswd (на нашем сервере она находится в каталоге /usr/local/bin/, полный путь — /usr/local/bin/htpasswd).

Рассмотрим как создать файл паролей в unix shell прямо на сервере. Зайдем в shell, и будем выполнять следующие команды:
htpasswd -mbc .htpasswd user1 sNQ7j9oR2w
создаем новый файл .htpasswd, в который добавляем запись для пользователя user1 с паролем, указанным в командной строке. Просьба обязательно заменить sNQ7j9oR2w на любой собственный пароль — здесь этот пароль указан только для примера
htpasswd .htpasswd user2
добавляем в уже существующий файл .htpasswd пользователя user2, а пароль вводим вручную в ответ на соответствующий запрос программы

Если вы используете Windows и не хотите пользоваться unix shell для генерации паролей, можно загрузить Windows-версию программы htpasswd здесь и создать файл с паролями на своем компьютере, после чего загрузить его на сервер. Если у вас уже установлена Windows-версия Apache, файл htpasswd.exe можно найти в каталоге Program Files\Apache Group\Apache\bin\.

Итак, получите htpasswd.exe и используйте его для генерации паролей таким образом:
htpasswd.exe -mc .htpasswd user1
создаем новый файл паролей htpasswd.exe, пароль и его подтверждение будут запрошены интерактивно
htpasswd.exe -m .htpasswd user2
добавляем пользователя user2 в существующий файл паролей htpasswd.exe, запросив пароль интерактивно

После окончания заведения всех логинов файл нужно загрузить на сервер.
Цитата:
Итак, файл с паролями создан. Теперь Вам необходимо переписать его на сервер. Файлы с паролями очень желательно класть выше корневой директории сайта — туда, куда не будет доступа посетителям.
Если это невозможно, то файлы с паролями следует обязательно защитить. Это можно сделать с помощью файлов .htaccess. Чтобы защитить файлы с паролями создайте файл со строками, представленными в следующем листинге.
Защита файлов .htpasswd

<Files .htpasswd>
deny from all
</Files>

И положите его в ту директорию, где находится Ваш файл с паролями. Теперь посетители сайта не смогут получить к нему доступ.
Файл с паролем создан и защищен от несанкционированного доступа. Теперь необходимо создать файл .htaccess, который будет использоваться в защищаемой директории.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 27.11.2009 в 17:41.
raxp вне форума Ответить с цитированием
Старый 28.11.2009, 14:32   #10
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Можно скачать только результат работы скриптов, сами скрипты скачать нельзя.
Вот этого я не знал, спасибо огромное!

И вообще спасибо огромное mv28jam и raxp
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключить сss файл к PHP коду. Ozerich PHP 2 31.05.2009 12:27
Как запаролить открытие листа Тупой Microsoft Office Excel 3 28.05.2009 15:18
Открыть php файл на другом сайте gred PHP 3 21.02.2009 16:27
Не дает права на php-файл Чих-Пых PHP 2 19.09.2008 18:00
Запаролить директорию NikLik Win Api 2 17.02.2008 10:46