2009-06-10 45 views
2

我问PHP登录系统,我得到了答案,如果我使用JSON作为存储机制,存储ID /密码信息,是否有任何缺点?

  1. 大量文件的战术
    * aaa.txt(含量为AAA通)
    * bbb.txt(含量为BBB通)
    *和scandir。
  2. XML
  3. CSV
  4. MySQL的
  5. SQLite的
  6. PEAR :: AUTH

但是,没有一个关于JSON提及。
但我觉得JSON是最适合我的方式。
因为看起来很容易,而且PHP具有JSON专用的内置函数。
所以我正在考虑选择JSON我的登录系统,
但我想确认是否有任何缺点
如果我用JSON我的登录脚本。

任何人有任何意见?

+1

JSON是一种数据传输格式。把它称为登录系统没有什么意义,那么它确实会说“我的银行安全系统是木质的”。当然,JSON可能是你登录系统的一个组成部分(虽然我个人看不出为什么),但它不是/登录系统。 – 2009-06-10 13:11:43

+0

我的意思是ID /密码存储格式。 – 2009-06-10 13:33:30

回答

0

我肯定给你一堆缺点的,主要有两个原因:

1)永远不要相信任何事情发生在客户端上,尤其是代码在客户端上执行这样一个javascript。更简单地说,用户可以轻松修改您的身份验证代码,从而使您的身份验证无效。

2)您的用户数据库直接可以http访问,并且以纯文本方式,很可能很容易从您的脚本源或HTTP调试器中发现。所以在他们最终成为管理员后,他们将拥有所有的用户名和密码。

如果您需要登录系统,请构建登录系统。或者至少回退你的Web服务器支持的任何http认证方法。

2

JSON和其他任何纯文本格式一样好。只要确保不要以明文形式存储密码。仅以散列形式保存它们。请记住在散列时使用salt。而且,只要有可能,请尝试将此文件保留在文档根目录之外,或者至少通过服务器配置拒绝对其进行访问。