【问题标题】:Making My PHP Site Hack Resistant [closed]使我的 PHP 网站能够抵抗黑客攻击 [关闭]
【发布时间】:2012-06-14 05:22:29
【问题描述】:

我正在为我一直在规划的网站制作自定义 CMS,安全性是一个大问题。

我可能缺乏抵御全面黑客社会工程进入服务器机房的专业知识,但这是我从这里和其他网站编译的内容列表,以防止黑客攻击,如果这里缺少任何内容,请发表评论或者是否应该采取进一步措施

第一阶段


使用 PDO 进行数据库调用和 htaccess 重写 url 以隐藏诸如 index.php?get=variable 现在是 myurl.com/get/variable

上述变量通过 PDO 传递,如here 所述

将数据库查询和功能移动到拒绝 HTTP 访问的文件夹中,并将某些管理功能锁定在服务器用户组后面,只有少数人可以访问。

所有密码都是加密的,永远不会被解密为纯文本,因为我没有理智的理由需要阅读其他人的密码。

基于 X 次尝试和 reCapatcha 的 IP 地址自动锁定导致登录和用户创建停止

第 2 阶段


这些步骤找到一个家主要是因为我打算有一天分发这个软件并且不想让我脸上有鸡蛋

用户跟踪以防止查找文件和记录入侵尝试

IP 跟踪以防止 XXS 劫持和出于类似原因可能的行为监控

我会想更多,但我的大脑现在跳到需要两阶段面部识别和一个状态 ID 的数据库

【问题讨论】:

  • 第 1 步)不要重新发明轮子(也就是说,“避免 hax”的最佳做法之一是使用经过严格审查、测试和维护的框架/CMS )。
  • 关于 SO 的问题预计与特定的编程问题有关。你的问题太广泛了,在我看来,不能用一个答案来公正。
  • @pst 你认为哪个框架会是我认为你需要为这一切编写代码的答案??
  • @Rinzler 我使用 SharePoint(但只是因为我的工作,向客户收费,付钱给我 ;-) 那里有 许多 不同的产品,有大量的重叠.选择你自己的毒药。
  • 我不确定哪个框架是正确的,但我希望 CMS 是我的,我一个人的,所以我可以为取得的成就感到自豪,即使它在一个月后落入一些 4chan 巨魔手中跨度>

标签: php mysql content-management-system pdo salt


【解决方案1】:

除非您有大量时间和一支经验丰富的团队,否则您的 CMS 将永远无法与 Joomla、Drupal 或 Wordpress 等相媲美。

由于它们已经存在了一段时间,它们已经防风雨,但即便如此,黑客也会发现漏洞。

不是想劝阻您,但如果安全是一个大问题,我会选择一个完善的 CMS。更具体地说,为了简单起见,我会使用 Wordpress。创建自定义主题和创建自定义函数和插件也非常容易。

就像上面提到的 PST,不需要重新发明轮子

【讨论】:

    【解决方案2】:

    我认为令人钦佩的是,你有远大的想法,并希望在你的腰带下取得你已经编码并引以为豪的成就。我想我们都想编写一些真正可靠的代码,我们可以指向并说“我做到了”并感到真正的成就感。

    我不会告诉你这是不可能的,但我完全同意其他 cmets 的观点,即安全性是一个巨大的、巨大的、巨大的话题,而你在这里只是触及了表面。您的步骤列表中有一些不错的项目,但是 Web 应用程序的安全性远远超出了身份验证和入侵。从您编写的步骤来看,您似乎对应用程序安全的一些基础知识有所了解。

    话虽如此,真正彻底和全面的安全专业人员需要考虑: * 你推荐人们在哪个版本的 apache 上部署?您推荐的 mod_php 或 mod_fcgid 版本有哪些已知问题? * 你将运行什么版本的 PHP?您是否知道您将编码的解释器版本有任何突出的漏洞? * 您将如何建议人们强化服务器?例如除了运行 apache 和 mysql 之外,还需要激活哪些其他服务?你会允许SSH到服务器吗?如果 web server 和 db 在两台不同的机器上,如何保证只有 web server 可以和 db server 通信?

    您提到的其他一些事情,例如入侵检测、面部识别等,都是极其复杂的主题,并且有整个公司围绕每个主题领域构建产品。

    我的观点是:一个人基本上不可能想到所有可能出现的安全问题,而且 - 即使你今天可以想到所有这些 - 明天有人很可能会发现以前没有人听说过的安全问题。

    因此,雄心勃勃固然好,但在你不知所措之前了解自己正在处理的事情也很好。 (这也是优秀安全专业人员的另一个特点)。

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 2016-01-14
      • 2023-04-10
      相关资源
      最近更新 更多