我有一个登录服务到我当前的网站,我想知道的是 – 有什么特别的方法你可以称之为MOST安全吗?
请允许我更好地解释一下我的系统:
我目前有一个带有用户表的PHP MySQL数据库.用户名和密码都存储为VARCHAR(对我所知的密码不是最好的).
在注册表单方面,我通过仅允许a-Z 0-9条目并限制字符数来规范密码和用户名的选择.在登录表单方面,我使用mysql_real_escape_string停止攻击,我使用POST到iFrame而不是AJAX.
我觉得我正在尽我所能阻止表单方面的攻击,但不是来自数据库方面.我知道你可以改变密码存储的类型,以便在进入数据库时??加密,但我不明白的是我将如何查询这个加密的字符串.
鉴于我所描述的,你会在增加安全性方面提出什么建议?为什么?您选择哪种方法来防止黑客攻击和攻击?你能在我所描述的内容中看到任何明显的安全漏洞吗?也许最重要的是,我可以做些什么来纠正这些,因为我没有长时间参与网络开发游戏并且没有太多经验?
(请记住,我没有创建一个容纳机密或煽动性数据的系统)
最佳答案
首先,不要在数据库中存储纯文本密码.因此,在注册新用户时,请将其密码插入为hash. MD5最常用于此.我建议用这种盐.所以存储:
$password = md5($yoursalt . $_POST['password']);
现在,当用户想要登录时,您的帖子中又有了密码.现在创建与以前相同的哈希,并在数据库中搜索此哈希(使用其用户名).这样您就不会存储他们的实际密码.