-1

我需要创建一个简单的基于 Web 的服务,它需要一些与 MySQL 数据库交互的用户。我对信息安全很陌生,所以我只是想创建一个包含用户名、密码等的表。

登录将通过简单的查询来执行,例如

SELECT username, password FROM User WHERE username=usernameGiven 
 AND password=passwordGiven

并通过简单INSERT INTO查询注册。这有多安全?安全性不必是万无一失的,因为服务内部的数据并不是那么敏感。

这是一个很好的做法,或者任何人都可以提供一些好的提示,以通过适度的努力使其更安全?

4

3 回答 3

1
  • 使用像 md5 这样的密码加密
  • 在数据库和 php 应用程序中使用密码盐
  • 不要授予 mysql 用户所有的特权。
  • 始终使用转义参数查询数据库
  • 避免使用 mysql_* 函数
  • 小心xss攻击

我认为这些是 Web 应用程序应该具备的基本安全性。通过谷歌搜索详细阅读每一个。其他一些方法也将在那里,但这些是我所知道的。

于 2013-06-05T06:49:41.433 回答
1

不要存储密码,而是密码 x 的某些函数 f,在给定 y 的情况下,很难找到 f (x)=y 的任何 x

于 2013-06-05T06:45:47.563 回答
0

您应该首先加密密码(您可以使用单向加密算法之一,如 md5、sha、...),然后将加密的密码保存在数据库中。为了检查用户名和密码,您可以使用相同的方法,对输入的密码进行加密,并将其与数据库中的密码进行比较。

要添加更多保护,您应该在登录页面中使用 Captcha 以保护表单免受暴力攻击(尝试常用密码)。

于 2013-06-05T06:50:22.123 回答