2016-07-28 41 views
-1

我16岁,为人们做了很多网页设计。除了偶尔处理表单时,我主要做前端设计。虽然我知道如何管理基本的杀菌和验证,但我想了解更多复杂的内容,例如用户管理和登录系统。我知道我在js,MySQL和PHP等方面的方式......但我不确定如何保护这样的系统。我知道没有一个解决所有网络安全指南,但我想知道是否有人知道任何有用的指南,资源等......此外,甚至只是在某处开始。学习基本网络安全的最佳方式

我主要是想了解:

  • 设置和获取SSL证书
  • 处理SSL证书
  • 建设使用cookie为安全起见,
  • 一般的PHP安全登录系统
  • 安全性
  • SQL安全性

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

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

(例子太大了,无法发布) 就像我说过的一个非常宽泛的问题,所以很抱歉(因为有人经常讨厌像这样发布问题的人)。 非常多的开放意见,任何帮助,将不胜感激:)

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

+0

它看起来像你说的太宽泛(不是特定的问题),这是不好的。 –

+0

你可以从https://letsencrypt.org/ –

回答

0

我会添加关于我所知道的几点。

SQL安全性 - 这里的基本原则是,永远不要信任用户输入,将其全部消毒。有许多内置函数可以这样做,例如htmlentities和实际转义字符串:MySQLi,用于PDO,准备语句。

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

构建安全登录系统 - SSL在这里是一个关键。另一个是密码加密。对于PHP,使用password_hash来散列密码。避免密码被盗/破解的最好方法是也要对它们进行盐渍处理。例如,您可以使用AES通过另一个随机字符串使用AES对密码本身进行加密,只有您知道,因此您可以解密并验证密码。另外,这里的一点是要确保你在页面上留下了一个失败的登录计数器,否则人们可能会用许多可能的其他密码来淹没你的网站。还要执行安全的密码,这些密码不容易算出来(test123,密码,pa55w0rd等)。

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

+0

获得免费的SSL证书嗨,谢谢你的回答。通过它的声音,我可能知道比我实际想象的更多。我确保通过php对用户输入进行消毒,并在MySQL上使用mysql_real_escape_string等。我也哈希密码,但不要盐他们,所以谢谢。在那个笔记上,我用我在这里找到的指南的帮助构建了一个用户系统:[link](http://www.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and- MySQL)我认为我现在真正的问题是如何学习如何使用SSL并在购买证书后进行设置? – James

+0

不客气。这不完全是核物理。你可以尝试创建一些东西,然后尝试自己打破它! :) – Janno