使我的PHP站点难以抵抗

时间:2012-06-14 05:22:30

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

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

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

第1阶段


使用PDO进行数据库调用,使用htaccess重写URL以隐藏诸如此类的内容 index.php?get = variable现在是myurl.com/get/variable

并且上述变量按照概述here

通过PDO传递

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

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

登录和用户创建因基于X尝试次数和reCapatcha

的IP地址自动锁定而停止

第2阶段


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

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

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

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

2 个答案:

答案 0 :(得分:5)

除非你手上有很多时间和经验丰富的人,否则你的CMS将永远不会像Joomla,Drupal或Wordpress那样。

由于他们已经存在了一段时间,他们已经防风雨,但即使这样,黑客也会发现漏洞。

不要试图阻止你,但如果安全是一个大问题,我会选择一个完善的CMS。更具体地说,我会使用Wordpress来简化。创建自定义主题并创建自定义函数和插件也非常容易。

与上面提到的PST一样,无需重新发明轮子

答案 1 :(得分:0)

我认为令人钦佩的是,你在思考自己很重要,并希望获得一份你已编码的成就,并为此感到骄傲。我想我们都希望编写一些非常可靠的东西,我们可以指出并说“我做到了”并感受到真正的成就感。

我不会告诉你它无法完成,但我完全同意其他评论,即安全性是一个巨大的,巨大的,巨大的主题,你只是在这里抓住了表面。您的步骤列表中有一些好的项目,但Web应用程序安全性远远超出了身份验证和入侵。从您编写的步骤开始,您似乎已经了解了应用程序安全性的一些基础知识。

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

您提到的其他一些内容,如入侵检测,面部识别等,都是非常复杂的主题,整个公司都围绕每个主题区域构建产品。

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

所以,雄心勃勃是好事,但是在你掌控之前知道你正在处理什么也是很好的。 (这也是一个优秀的安全专业人士的另一个特点)。