![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: 1 Всего: 61 |
Хотелось бы примерчик рассмотреть. Особенно что касается безопасности.
|
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Тоже самое что и с БД, только в файле. Т.е. получаем строки из файла с логином и паролем, и сверяем с введеными данными, если всё пучком, то регистрируем переменные сессии. При сохранении паролья md5-хеш обязателен.
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 23 Всего: 50 |
Есть примерчик, но без безопасности, ее нужно дописывать. Нужен?
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| Anarki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 14.3.2005 Репутация: 7 Всего: 11 |
А о безопасности можно много говорить
1. Если хостер правильно выставил права, что у каждого юзера скрипт запускается под своим (uid), то просто выставлять правильные права на файл. Скажем, rw------- (600) - только чтение пользователем-владельцем, то есть никто другой не сможет прочитать файл, не знаю насколько поможет и будет работать ли у хостеров, но можно попробовать. 2. Закинуть в папку .htaccess и запретить доступ через HTTP на этот файл. 3. Следующее - шифровать все пароли, хранящиеся в файле, скажем алгоритмом md5, а затем пришедший от пользователя пароль хешировать и сравнивать хеши. Шифрование обязательно в любом случае, это предотвращает в какой-то мере хищение важной информации - паролей. Это сообщение отредактировал(а) Anarki - 21.9.2005, 19:51 |
|||
|
||||
| maugli |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 8.3.2005 Репутация: нет Всего: нет |
А обязательно ли хешировать пароли (если БД исплоьзуешь)? И скажите зачем вообще хешировать, как их украсть можно вооще? И если кто может, то дайте пожалуйста какой-нить мануал по безопасности веб-приложений. Заранее спасибо!!!
|
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 23 Всего: 50 |
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: 1 Всего: 61 |
Хотелось бы глянуть? |
|||
|
||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 18 |
Ну можно сделать отдельный файл, с именем как у юзера, в котором хранится пароль этого юзера.
Права доступа, только для root'а при открытии они меняются на 0777, производится чтение и снова для root'а. -------------------- ГЫ... |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Jey_k вот тебе пример с БД: http://vingrad.ru/PHP-ART-002849
тут правда есть пара недочетов... 1. mysql_real_escape_string нужен 2. BINARY при сравнении. Что касается файла... Тут очень важно ограничить доступ к файлу на уровне сервера. Идеальный вариант - вынести его выше DocumentRoot, правда, туда и PHP должен добираться. |
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 23 Всего: 50 |
Писала еще на курсах, но вроде работает.
Удаление тоже имеется, если что.
Это сообщение отредактировал(а) PARROT - 21.9.2005, 21:39 -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: 1 Всего: 61 |
PARROT
C регистрацией понятно, спасибо за интересный пример. Мне интересно как грамотно обеспечить доступ к определенной странице через логин/пароль. Например есть страница admin_page.php нужно чтобы она загружалась только при правильном вводе, например, на странице adm_auth.php. Особенно чтоб это было безопасно, при условии пользования файлом. |
|||
|
||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 18 |
можно и с базой сделать так, что не безопастно будет.. Храни и пароль в MD5, логин тоже можешь запихнуть под это дело. А потом делай выборку файла имя файла будет допустим - md5($username).$ext и дальше проверяй если его содержание будет совподать с md5($userPass) - то регистрируется переменная сессии, и передаётся её индетификатор пользователю. Права только для чтения поставь. -------------------- ГЫ... |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Почитай тут в поиске. в md5 не безопасно уже хранить. |
|||
|
||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 18 |
Уже ломанули всё-таки....
ну тогда - mcrypt_ecb(MCRYPT_BLOWFISH,"некий ключ","некая строка",MCRYPT_ENCRYPT); для расшифровки MCRYPT_DECRYPT. 448 бит или для однонаправленного mhash(MHASH_RIPEMD160,"некая строка"); 160 битный хеш. -------------------- ГЫ... |
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 23 Всего: 50 |
Ну это уже следующая стадия. Пиши так, что если логин и md5(пароль) существует, записываем данные пользователя в куки и пускаем на страницу. -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |