Jump to content
  • 0

Регистрация/авторизация. PHP и XML


Perezzloy
 Share

Question

Нужно создать регистрацию и авторизацию на сайте. Данные пользователей должны сохраняться в ОДИН xml-файл, типа:

<?xml version="1.0" encoding="utf-8"?>
<users><user id="1"><login>User1</login><password>Pass1</password></user><user id="2"><login>User2</login><password>Pass2</password></user><user id="3"><login>User3</login><password>Pass3</password></user></users>

Соответственно, нужно написать скрипты для сохранения и вывода информации. + нужно как то привязать к авторизации сессию и куки на 4 часа.

Собственно, подскажите хотя бы с чего начать. Вообще не имею опыта работы с xml.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0


$xml = simplexml_load_file('test.xml');

вернет объект.

Подробнее по функциям для работы с xml - http://php.su/functions/?page=cat_xml

Про сессии http://php.su/functions/?cat=session

ЗЫ но я бы вам не советовал хранить регистрационные данные в файле. Это плохо сказывается на производительности и это не безопасно.

Link to comment
Share on other sites

  • 0

Мне думается, что на файлах быстрее, к тому же меньше риск потерять информацию. На счет безопасности я предусмотрел :)

Буду изучать DOM как наиболее перспективное.

Link to comment
Share on other sites

  • 0

Это плохо сказывается на производительности

с чего бы это? есть пример?

Ну как минимум чтобы получить данные об одном пользователе придется прочитать и распарсить весь xml файл. А если там несколько тысяч пользователей в нем? Каковы объемы данных загружаются в память при каждом обращении к файлу? А сколько таких обращений будет одновременно? Для таких вещей есть субд или уж на худой конец хранить каждого пользователя в отдельном файле чтобы сэкономить ресурсы.

Link to comment
Share on other sites

  • 0

Ну как минимум чтобы получить данные об одном пользователе придется прочитать и распарсить весь xml файл. А если там несколько тысяч пользователей в нем? Каковы объемы данных загружаются в память при каждом обращении к файлу? А сколько таких обращений будет одновременно? Для таких вещей есть субд или уж на худой конец хранить каждого пользователя в отдельном файле чтобы сэкономить ресурсы.

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

Link to comment
Share on other sites

  • 0

Ну как минимум чтобы получить данные об одном пользователе придется прочитать и распарсить весь xml файл. А если там несколько тысяч пользователей в нем? Каковы объемы данных загружаются в память при каждом обращении к файлу? А сколько таких обращений будет одновременно? Для таких вещей есть субд или уж на худой конец хранить каждого пользователя в отдельном файле чтобы сэкономить ресурсы.

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

Я не собираюсь с вами устраивать холиваров. Не нравится мой ответ минусуйте с обоснованием, пока что я вижу только ваше ИМХО.

Я посоветовал высказав свое мнение в PS:

ЗЫ но я бы вам не советовал хранить регистрационные данные в файле. Это плохо сказывается на производительности и это не безопасно.

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

Link to comment
Share on other sites

  • 0

Я не собираюсь с вами устраивать холиваров. Не нравится мой ответ минусуйте с обоснованием, пока что я вижу только ваше ИМХО.

Я посоветовал высказав свое мнение в PS:

ЗЫ но я бы вам не советовал хранить регистрационные данные в файле. Это плохо сказывается на производительности и это не безопасно.

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

1) минусовать не за что, да и не любитель я этого, для меня важна истина.

2) холиваром назвал только потому, что тема изъедена как огрызок от яблока.

3) я согласен с вами только лишь в отношении безопасности, но и тут при правильном подходе можно все решить малой кровью.

4) я вовсе не хочу менять ваше мнение, и не считаю "истиной в последней инстанции", просто всему должно быть свое место.

любая субд - это те же яйца файлы, только в профиль и + общаются с железом посредством программы\сервера mysql и так же, а то и побольше хавают ресурсы железа.

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

база нужна лишь тогда, когда сложная структура для связки ввода-вывода данных.

любая юникс-подобная система использует всегда только последовательный способ чтения файлов

Link to comment
Share on other sites

  • 0

Я не собираюсь с вами устраивать холиваров. Не нравится мой ответ минусуйте с обоснованием, пока что я вижу только ваше ИМХО.

Я посоветовал высказав свое мнение в PS:

ЗЫ но я бы вам не советовал хранить регистрационные данные в файле. Это плохо сказывается на производительности и это не безопасно.

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

1) минусовать не за что, да и не любитель я этого, для меня важна истина.

2) холиваром назвал только потому, что тема изъедена как огрызок от яблока.

3) я согласен с вами только лишь в отношении безопасности, но и тут при правильном подходе можно все решить малой кровью.

4) я вовсе не хочу менять ваше мнение, и не считаю "истиной в последней инстанции", просто всему должно быть свое место.

любая субд - это те же яйца файлы, только в профиль и + общаются с железом посредством программы\сервера mysql и так же, а то и побольше хавают ресурсы железа.

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

база нужна лишь тогда, когда сложная структура для связки ввода-вывода данных.

любая юникс-подобная система использует всегда только последовательный способ чтения файлов

В том то и дело что изъедена, и нет однозначного ответа что лучше, все зависит от слишком многих причин в каждом конкретном случае.

Link to comment
Share on other sites

  • 0

В том то и дело что изъедена, и нет однозначного ответа что лучше, все зависит от слишком многих причин в каждом конкретном случае.

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

просто говорить о том что в данном случае субд была бы лучше, нужно дать понять чем именно лучше то?

безопасностью? тут да, я согласен, да и то отчасти, проблема решается ровно так же легко, как и с субд.

хаванием ресурсов? выше уже расписал, куда еще подробней то...

ТС: выбирайте любой способ себе удобный, главное это правильный подход.

Link to comment
Share on other sites

  • 0

и все таки начали холиварить и вы и я.

неплохая статья по поводу того как в С происходит работа со строками http://russian.joelonsoftware.com/Articles/BacktoBasics.html, а PHP написан таки на С. Хотя статья старовата 2001 года, но все же.

Edited by wwt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy