4

我正在使用 PHP、AS3 和 mysql。

我有一个网站。一个flash(as3) 网站。flash网站通过php将会员信息存储在mysql数据库中。在“成员”表中,我将“id”作为主键,将“用户名”作为唯一字段。

现在我的情况是:当flash想显示一个会员的资料时。我的问题:

  1. Flash 是否应该将成员“ID”或“用户名”传递给 php 来处理 mysql 查询?

  2. 传递“id”或“用户名”有什么不同吗?

  3. 哪个更安全?

  4. 你推荐哪一个?

我想在安全性和性能方面优化我的网站。

4

4 回答 4

8

主键始终是识别数据库行的最安全方法。例如,您以后可能会改变主意并允许重复的用户名。

根据您的 ActionScript 与 PHP 通信的方式,如果您在请求中发送整数 ID 而不是用户名,它可能还需要发送更少的字节。

于 2009-03-26T03:20:24.487 回答
8

1) 两者都不是它应该做的事。

2) ID 可能更短且查找速度更快。该 ID 提供了有关您系统的更多信息;如果您知道某个站点完全使用序列号,并且您知道其中一个是什么,那就像知道所有这些一样好,而知道一个用户名并不能告诉您任何其他用户的用户名。另一方面,用户名更能揭示用户的心理,可能构成密码提示。

3) 如第 2 项所述,两者都有极小的跌幅。

4)我会使用身份证。

于 2009-03-26T03:23:32.183 回答
3

传递 id 号的参数:

  • 人们永远不会改变他们的身份。人们确实会改变他们的名字。对于一个拥有一次性账户的休闲游戏网站来说,这可能不是问题,但对于长期注册用户来说却是。我不得不处理一个心烦意乱的女人要求从她的用户名中清除她前夫的姓氏的要求。必须迅速建立一个这样做的过程!

  • 更短

  • 更容易索引和分区。

传递用户名的参数:

  • 猜测一个合法的现有帐户稍微困难(但并非不可能) - 例如,仔细阅读随机人的记录,如果那是你的事。
于 2009-03-26T03:23:41.967 回答
1

可能您应该非常熟悉“PHP Sessions”,也许使用已经具备此功能的框架,因为它很重要,而且您不想把它搞砸。会话管理软件将为您处理所有这些,包括登录屏幕、“我忘记了密码”等。

然后,您可以将注意力集中在您的网站的真正主要用途上。

听起来很有趣(actionscript + php + mysql)-祝你好运!

于 2009-03-26T03:19:53.910 回答