php - 当用户登录网站时——我应该选择用户名和密码,还是只选择用户名?

标签 php mysql database authentication indexing

我在我从头开始设计的网站中使用 PHP 和 mySQL。

当用户登录网站时,我应该:

  • 进行查询 WHERE username='username' AND password='password',在这种情况下,我需要索引用户名和密码字段,如果出现以下情况之一,则可以返回“错误登录”详细信息不正确

  • 仅进行查询 WHERE username='username',在这种情况下,我只需要索引用户名字段,但需要检查服务器端代码中的密码是否匹配

?


更新:
这个问题是关于良好实践的。这是关于在密码字段上添加索引的优点,以便仅当两个细节都正确时我才能从数据库获得响应,是否超过了该索引将占用的空间和大小的缺点。
我不认为我的系统的具体细节(编程语言和数据库类型除外)是相关的,但会有所帮助。

最佳答案

我会选择后者(用户名是“你正在搜索的东西”,即使你在某个阶段进行了明确的密码验证),但如果没有深入熟悉您的特定代码库。

编辑

你提到了索引;索引 both 用户名和密码字段只有在 username 不是唯一的时候才有意义..它应该是。所以这是一个有争议的问题。

关于php - 当用户登录网站时——我应该选择用户名和密码,还是只选择用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5978539/

相关文章:

database - 如何在 Sybase 中查找语言环境?

php - ob_flush 不丢弃缓冲区

PHP:如何在其自己的类中访问/使用方法?

php - ™ 被转换为 ™ DOMDocument XPath

mysql - 在mysql插入中使用STR_TO_Date()

php - SQL - 执行更新的最快方法

php - 如何使用 least-n-per-group 查询进行左连接?

php - 时间到日期转换

php - 如何使用 group by 和 order by 返回最新数据

mysql - 使用 Joins 和 Where 插入表中