0

我想在我正在建立的慈善网站上有一个登录表单(它是给朋友的,我正在学习),我想知道我应该学习什么语言/软件来为用户登录和信息建立数据库? 注意:对于具有中等编程经验的人来说,它必须是安全且相对简单的学习。

更新:我知道 CMS 为登录等提供了很好的工具,但我想自己做这一切。

4

1 回答 1

5

您可以做的最简单的事情是在将密码输入数据库之前对密码进行哈希处理和加盐。“邪恶的跳蚤”在这里的另一个问题中有一个很好的答案。

您是否考虑过购买现成的 CMS?大多数体面的 CMS 应该包含一个简单的慈善网站所需的所有功能。它还将为您的登录表单问题提供可靠的解决方案。

编辑

至于用什么语言。只要您对它感到满意并愿意投入时间和精力,这真的不是很重要。它在您的个人资料中显示您正在寻找学习 PHP。看起来用 PHP 编写登录表单将是一个不错的起点。至于数据库后端。同样,这并不重要。请不要使用 MS Access。大多数 PHP 开发人员(假设)似乎使用 MySQL,因为它通常包含在 PHP Web 主机中。

关于安全性,散列和在密码中添加盐是您可以做的最简单的事情。你可以这样做:

  • 用户点击注册链接
  • 使用 SSL 调出注册表单
  • 一旦用户点击提交按钮
  • 哈希密码。加盐。存储在数据库中。在散列密码中添加盐可以防止攻击者使用彩虹表来暴力破解您的密码。在这里查看处理散列密码的函数。
  • 您还可以强制用户创建具有特定规则的密码。比如,要求所有密码大于6个字符,至少一个数字等...

一旦用户需要登录,您可以执行类似的操作:

  • 获取用户名并对其进行清理。记住永远不要相信用户的输入。上帝自己是否想要在您的网站上拥有一个帐户并不重要。
  • 转义密码以确保没有帐户的人可以通过SQL 注入访问。您可以使用 PHP 的mysql_real_escape_string函数来执行此操作。
  • 一切就绪后,您可以查询数据库以查看是否返回了任何行。

最后,切勿以纯文本形式通过电子邮件向您的用户发送密码。如果用户忘记了密码,只需让他们创建一个新密码。您可以通过在用户的电子邮件中向用户发送一个链接来做到这一点,这将使他们能够这样做。

老实说,您最好的选择可能是完成此任务并使用您的代码在 SO 上发回(新问题)。从那里我们可以分析它并从那里获取它。

这些方面的东西应该满足您的要求。

于 2010-07-25T05:12:19.880 回答