我正在使用PHP,AS3和mysql。
我有一个网站。一个flash(as3)网站。 flash网站通过php将成员信息存储在mysql数据库中。在“members”表中,我将“id”作为主键,将“username”作为唯一字段。
现在我的情况是: 当flash想要显示成员的个人资料时。我的问题:
Flash应该将成员“ID”或“用户名”传递给php来处理mysql查询吗?
是否有任何不同的传递“id”或“用户名”?
哪一个更安全?
你推荐哪一个?
我想在安全性和性能方面优化我的网站。
答案 0 :(得分:7)
主键始终是识别数据库行的最安全方法。例如,您可能稍后改变主意并允许重复的用户名。
根据您的ActionScript与PHP通信的方式,如果您在请求中发送整数ID而不是用户名,则可能还需要发送更少的字节。
答案 1 :(得分:7)
1)
2)ID可能更短,查询速度更快。该ID提供了有关您的系统的更多信息;如果您知道某个站点根本使用了序列ID,并且您知道它们中的哪一个,那就非常了解所有这些,而知道一个用户名并不会告诉您任何其他用户的用户名。另一方面,用户名更能揭示用户的心理,并可能构成密码提示。
3)如第2项所述,两者都有极度边际的垮台。
4)我会使用ID。
答案 2 :(得分:2)
传递身份证号码的参数:
人们永远不会改变他们的身份。人们确实改变了名字。对于带有一次性帐户的休闲游戏网站,这可能不是问题,但对于长期注册用户来说可能是。我不得不处理一个心烦意乱的女人的要求,即她的前夫的姓氏被清除了她的用户名。必须迅速建立这样做的过程!
更短的
更容易索引和分区。
传递用户名的参数:
答案 3 :(得分:1)
可能你应该非常熟悉“PHP会话”,也许使用已经有这个的框架,因为它不是一件容易的事情,你不想搞砸它。会话管理软件将为您处理所有这些,包括登录屏幕,“我忘记了密码”等。
然后,您可以将注意力集中在您的网站的主要用途上。
听起来很有趣(actionscript + php + mysql) - 祝你好运!