如何保护用户信息为非公司?

时间:2013-12-04 09:24:35

标签: php mysql sql web

我只是一个开发人员,他在一个廉价(但很好)的标准网络托管上亲自开发一些网站(基于捐赠)。我也在大学学习计算机科学,所以我确实关心安全性。

所以我有一个网站,用户可以在其中创建帐户,并将它们存储在数据库中,我希望它尽可能安全 ,而不需要花钱购买安全性。服务器只是在Apache Web服务器上运行PHP和MySQL数据库。

我知道我可以做的做法:

  • 使用复杂的数据库用户名和密码。
  • 将密码与散列算法(最好是 MD5)和盐一起存储。
  • 同样不重要,请使用复杂的FTP用户名和密码。

我知道可能存在缺陷:

  • 数据库通过互联网“可访问”,即www.host.tld/phpMyAdmin,但它仍然希望输入用户名和密码作为输入。我可以访问.htaccess个文件。
  • 如果有人攻击数据库,他们就可以获得有价值的信息,即电子邮件地址。

还有什么我可以做的,尽我所能做到最好?

2 个答案:

答案 0 :(得分:2)

对于PHPMyAdmin

  1. 更改默认管理员用户
  2. 使用.htaccess
  3. 将访问页面锁定到PHPMyAdmin
  4. 不要调用文件夹PHPMyAdmin
  5. 在Apache中使用虚拟目录设置以防止浏览目录,或在所有文件夹中使用虚拟index.php
  6. MySQL安全

    对于MySQL安全性,创建一个具有最低安全权限的新数据库用户,以便您的应用程序正常工作 - 在组成PHP脚本的情况下,可以包含损坏。

    <强> PHP

    跨站点脚本和MySQL注入仍然是常见问题 - 有各种PHP库(免费!)有助于清理输入。

    如果您确实允许用户上传,请将这些文件夹的权限设置为755,并确保PHP可以读取此类文件夹 - 某些Web主机要求文件夹在PHP可以写入之前拥有权限777。不惜一切代价避免使用这些主机。

    如果你真的希望加倍努力,你可以加密敏感信息作为威慑,尽管攻击者可能一直都在世界各地破解这些信息。

    考虑使用可以完成基本安全性工作的PHP框架,例如清理POST,GET等。

答案 1 :(得分:0)

确实,通过互联网向所有人展示您的PHPMyadmin登录页面是一种非常糟糕的做法。据我所知,PHPmyadmin没有提供任何防止暴力攻击的机制。用非常简单的话说,暴力攻击就是攻击者试图猜测数据库密码的攻击。然而,无论你使用密码,有人都可以通过它。

我建议您立即限制对数据库的访问,以便只有授权用户才能访问它。您可以通过篡改一些配置文件轻松完成此操作。这个答案可能对你有帮助。 How to restrict access to phpmyadmin?

让我们希望您的数据库免受恶意攻击:)