我刚刚获得了PHP5演出.我不会处理涉及超敏感数据的应用程序部分,但我仍然对安全性和加密方法知之甚少.我只知道非常基础(不要以明文存储密码,不允许用户使用帖子数据运行代码等).为了保证我的应用程序安全,我需要知道什么?我在哪里可以学习它?
Sam*_*son 27
了解哈希和加密之间的区别.加密通常是对字符串的双向解释.我可以加密我的密码,然后再将其解密为纯文本.哈希背后的想法是它们成为单向"加密".
在我的网站上,我将密码存储为哈希值.每当用户登录时,我都会重新哈希他们提供的密码,根据存储在数据库中的哈希对其进行测试,并批准它们是否匹配.如果他们忘记密码,我就无法向他们发送密码,因为(通常)我无法知道.两个不同的字符串可以转换为相同的哈希值,这使得(通常)无法找出原始字符串是什么.
这是一个很好的问题,可以很好地理解并识别何时使用加密与哈希.
Bob*_*man 17
知道不要编写自己的加密功能.现有的可信库是最好的方法.避免使用酷炫的前沿技术,这些技术缺少许多成功的程序员工时和用户时间.知道不要相信你选择的功能,直到你自己彻底测试它,第一人称.及时了解可能在一夜之间阻止您选择的功能的新发展.知道这只是因为你正在使用当今最好的加密技术,如果你把钥匙留在桌子上就没有任何保护(例如,明文不在缓存中或存储在同一数据库中的另一个表中,私钥不是留在公开场合)
简短的回答
你永远不会太安全
使用Salted Password Hashing可提高安全性
答案越长(但仍未完成)
网络上的快速教程无法学习安全性.这需要深入的不仅是哪些漏洞存在,但知识为什么它们的存在和如何他们的工作.最大的问题之一(特别是在开源中)是新方法一直在增加,因此我们必须理解安全概念和理论.
阅读书籍,上课,并在本地计算机上自行测试漏洞. 然后,您将慢慢开始掌握如何保护Web应用程序的概念.
请查看以下内容以启动您