Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 601
от 19.02.2007, 05:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 414, Экспертов: 54
В номере:Вопросов: 1, Ответов: 6


Вопрос № 75604: Уважаемые эксперты! Существует ли возможность создания на сайте авторизации без использования баз данных, только средствами HTML+PHP? Надо сделать обычную форму регистрации (E-mail, login, password) и организовать доступ в закрытую зону сайта тол...

Вопрос № 75.604
Уважаемые эксперты! Существует ли возможность создания на сайте авторизации без использования баз данных, только средствами HTML+PHP?
Надо сделать обычную форму регистрации (E-mail, login, password) и организовать доступ в закрытую зону сайта только для зарегистрированных пользователей.
Semiotic, esq.
Отправлен: 13.02.2007, 21:57
Вопрос задал: Semiotic (статус: Посетитель)
Всего ответов: 6
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Селев Валерий
Здравствуйте, Semiotic!

Если тебе надо хранить данные о пользователях - так или иначе, без наличия некоего "хранилища" тебе не обойтись.
Можно не называть его базой данных (хотя суть от этого не изменится), а хранить информацию о пользователях в файлах. Например - на каждую учётную запись пользователя - отдельный файл.

Т.е., по сути, вместо использования удобных готовых возможностей SQL, тебе придётся самому написать все операции для добавления/удаления/изменения учётной записи пользователя - простая работа с файлами.
Ответ отправил: Селев Валерий (статус: 3-ий класс)
Ответ отправлен: 13.02.2007, 22:06

Отвечает: Cimus
Здравствуйте, Semiotic!
Конечно можно!
для этого храните пары логин-пароль в текстовом файле.
Также можно сделать авторизацию средствами самого веб сервера (если есть доступ к .htaccess и htpasswd).

---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: Студент)
Ответ отправлен: 13.02.2007, 22:07

Отвечает: Zolton007
Приветствую, Semiotic!
Конечно имеется! Многие даже считают, что хранить пароль в БД опаснее, чем фйле. Ой, забежал вперед.... =) Вобщем можно хранить логин пароль и мыло в файле. Файл этот желательно запрятать поглубже и понадежнее, чтобы к нему как можно сложнее было получить доступ. Это уже дело техники. Пароль круче всего хранить в виде хэша (MD5 например). Причем к хэшу можно добавить несколько лишних символов, чтобы его труднее было дешифровать. Это тож дело техники.
Доступ к какому-либо разделу можно также ограничить встроенной аутентификацией HTTP протокола, т.е. базовой аутентификацией, либо дайджест-аутентификацией, использующей MD5, но к сожалению она поддерживается не всеми браузерами. И та и другая аутентификации не очень безопасны.
Еще можно использовать базовую аутентификацию при помощи файлов .htaccess апача и базовую аутентификацию PHP.
Про все что я написал куча инфы в рунете. :))) гугл в помощь!
---------
Если твоя программа выполняет мистические действия, - значит ты сделал что-то невероятно тупое!
Ответ отправил: Zolton007 (статус: 2-ой класс)
Ответ отправлен: 13.02.2007, 22:37

Отвечает: Илья Андреевич
Здравствуйте, Semiotic!
Ко всему вышесказанному добавлю: либо ограничивайте доступ к файлу (опятьже .htaccess в помощь)
либо делайте его как пхп-скрипт.
тоесть храните например в data.php, только не забудьте в конце и начале ставить пхп-теги. и тогда никто ваши пароли не утащит :)
Ответ отправил: Илья Андреевич (статус: 9-ый класс)
Ответ отправлен: 13.02.2007, 23:01

Отвечает: Бородин Александр Олегович
Здравствуйте, Semiotic!
Без хранилища данных Вам это вряд ли удастся. А какое оно, это хранилище данных, - велика ли разница? Будут ли это файлы или базы данных, не суть важно. Я бы сказал, что в базе сохранять технически проще, потому что у базы интерфейс уже готов, а храня данные в файлах, Вам придется этот "интерфейс" разрабатывать самому. Другое дело, если базы не поддерживаются хостером. В таком случае я бы такого хостера фтопку, честное слово:-)))
Короче говоря, Вам надо средствами PHP пополнять свое хранилище паролей и логинов. Их нельзя хранить в самом скрипте. Их надо хранить где-то в стороннем хранилище. А как Вы это сделаете - Вам решать. Собственно, путей немного, всего два и один Вы уже отсекли.
---------
Ничто не сближает людей так, как совместное преступление. Или покупка телевизора.
Ответ отправил: Бородин Александр Олегович (статус: 3-ий класс)
Ответ отправлен: 13.02.2007, 23:30

Отвечает: Aster Aster Aster
Здравствуйте, Semiotic!
Да возможно.Но тут действительно тогда нужно использовать файлы на сервере.Вот к примеру если хотите сделать запрет на какую либо папку на серваке-то используйте вложеный в нее файл .htaccess, где используются команды доступа к текущей директории.Сам файл паролей назыв .htpasswd( эти имена файлов указаны по умолчанию на серваке).Шифровка паролей в .htpasswd идет в DES-не сильно сложно подобрать, так что не надо им светить...:)А если хотите для пользователей делать авториз да еще и без баз данных -хэ тут без файлов не обоитись.Тут вам пароли с логинами в файле надо организовать( лучше построчно...) и функции для считывания и записи паролей и логинов с этого самого файла:). Но вот а подробности по работе с файлами и проведении авторизаций советую прочитать в учебнике там подробнее росспишут все, чем кто либо в форуме или в чате;).А, и еще один момент...Если вы будете использывать авториз с хранением данных в файле в больших проектах-то не исключено что несколько пользователей з арегаются одновременно и данные в этот самый файл лягут как слои один на другой -данные испортятся и кирдык...!:)Хоть это и врядли произойдет но мало ли!!!Чтоб этого не произошло,то используйте функцию блокировки файлов:flock()-про нее тоже почитайте:)Если использывать авторизацию через БД то СУБД сама регулирует последовательной записью данных в таблицы и уж конечно ничего блокировать не надо:):):) Удачи!!!
Ответ отправил: Aster Aster Aster (статус: 1-ый класс)
Ответ отправлен: 13.02.2007, 23:59


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.44 beta от 26.01.2007
Яндекс Rambler's Top100

В избранное