学习基本网络安全的最佳方法

时间:2016-07-28 07:55:41

标签: php mysql security ssl

我16岁,为人们做了很多网页设计。在处理表单时,除了偶尔使用PHP之外,我主要进行前端设计。虽然我知道如何管理基本的灭菌和验证,但我想学习更多复杂的东西,如用户管理和登录系统。我知道我的方式围绕js,MySQL和PHP等...但我不相信确保这样的系统。我知道没有一个解决所有网络安全指南,但我想知道是否有人知道任何有用的指南,资源等....而且,即使只是在某个地方开始。

我主要想了解的是:

  • 设置和获取SSL证书
  • 处理SSL证书
  • 构建安全登录系统
  • 出于安全目的使用cookie
  • 一般PHP安全性
  • SQL安全

我的最终目标是能够构建具有基本信息的用户的网站,我可以在SQL数据库中安全地存储(没有付款细节)。我希望能够创建一个用户注册登录和编辑系统。我以前创建过这样的东西,但没有使用SSL。我的问题是你是如何学习使用SSL的?

有人可能......   - 指导我指导。   - 引导我举例。   - 指出我正确的方向。

(例子太大了,无法发布) 就像我说的那么宽泛的问题很抱歉(因为有人经常讨厌发布这类问题的人)。 非常乐意接受任何帮助,我们将不胜感激:)

编辑:我现在真正的问题是如何在购买证书后学习如何使用SSL并进行设置?

1 个答案:

答案 0 :(得分:0)

我会添加一些我知道的点。

SQL安全 - 这里的基本原则,永远不要信任用户输入,清理所有内容。有许多内置函数可以执行此操作,例如htmlentities和实际转义字符串:MySQLi,用于PDO,预处理语句。

出于安全目的使用Cookie - Cookie始终是一个失败点,因为用户可以根据需要更改Cookie。最好的方法是在cookie中使用随机字符串以便稍后识别用户。例如,您生成一个50个字符的随机字符串,将其放入一个cookie中,使其在一段时间内过期并将该ID存储到SQL中,因此下次用户连接时,您可以检查是否有SQL中的ID并检查用户是谁。它仍然不安全,但不像在cookie中留下user_id甚至更糟的密码那样不安全。使用会话更安全,但如果您需要使用cookie,那就是我这样做的方式。

构建安全登录系统 - SSL是这里的一个关键。另一种是密码加密。对于PHP,使用password_hash来哈希密码。保持密码不被窃取/破解的最佳方法是加盐。例如,您可以使用AES通过另一个带密钥的随机字符串来加密password_hash本身,只有您知道,因此您可以对其进行解密并验证密码。此外,这里的一点是确保您在页面上留下一个失败的登录计数器,否则人们可能会开始使用许多可能有效的其他密码充斥您的网站。还强制执行不易理解的安全密码(test123,密码,pa55w0rd等)。

设置和获取SSL证书 - 要获得最终用户可以接受的SSL证书而不会收到无法识别CA的消息,您很可能需要购买SSL证书,Google会帮助您。