2009-06-10 2 views
2

Я попросил PHP системы авторизации и я получил ответы,Есть ли недостатки, если я использую JSON в качестве механизма хранения, для хранения информации ID/пароля?

  1. много тактики файлов
    * aaa.txt (содержание ааа-передача)
    * bbb.txt (содержание ГЭБ проход)
    * и скандир.
  2. XML
  3. CSV
  4. MySQL
  5. SQLite
  6. PEAR :: AUTH

Но никто не упомянул о JSON.
, но я чувствую, что JSON - лучший способ для меня.
Потому что это выглядит просто, и PHP имеет встроенную функцию JSON.
Итак, я рассматриваю возможность выбора JSON для моей системы входа,
, но я хочу подтвердить, что есть какой-либо недостаток
, если я использую JSON для моего сценария входа.

У любого есть мнение?

+1

JSON - это формат передачи данных. Не имеет смысла называть его системой входа в систему, а затем говорит: «Моя банковская система безопасности - это дерево». Несомненно, JSON может быть компонентом вашей системы входа (хотя лично я не понимаю, почему), но это/нет/система входа. –

+0

Я имею в виду формат хранения ID/pasword. –

ответ

0

Я определенно даст вам кучу недостатков, по двум основным причинам:

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

2) Ваша пользовательская база данных напрямую http доступна и в виде простого текста и, скорее всего, легко обнаружена из источника ваших сценариев или с помощью HTTP-отладчика. Поэтому после того, как они закончатся как admin, у них будут все ваши имена пользователей и пароли для игры.

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

+0

Чтобы быть справедливым, никто не упомянул клиента (я ** предполагаю, что ** php может делать JSON на сервере); и большинство серверов предоставляют механизм для отказа в доступе к определенным файлам. –

+0

Правда, но если вы запретите доступ к вашей базе данных паролей JSON, то ваши сценарии ajax не смогут ее прочитать, победив цель хранения указанной базы паролей. –

+3

Я делаю предположение, что OP говорит только об использовании JSON в качестве механизма хранения на сервере (так же, как плоский файл, xml и т. Д.), И ни в коем случае клиент не попытается загрузить его, AJAX или иным образом. –

2

JSON так же хорош, как и любой другой формат обычного текста. Просто убедитесь, что не хранить пароли в текстовом формате. Сохраните их только в хешированной форме. И не забудьте использовать salt при хешировании. И, когда это возможно, попробуйте сохранить этот файл из корневого каталога документа или, по крайней мере, запретить доступ к нему через конфигурацию сервера.

Смежные вопросы