php - 黑客可以对网站执行什么操作以及如何保护我的网站免受这些攻击?

标签 php javascript security web

虽然我的网站还远远没有完成,但我已经开始考虑网络安全了。该网站将非常公开,并包含人们认为是真实的重要信息,我不想被劫持。如果这个网站被黑客入侵,那将是一场灾难,所以我开始考虑一些方法来保护它,或者反击。

一切都是通过 PHP 使用动态 html 制作的,除了错误消息,错误消息使用由 PHP cookie 触发的 javascript 弹出警报。有文本框表单和下拉框,全部用 htmlentities 封装以防止代码运行。

所以我开始思考,“我的网站的安全性可能会受到哪些影响,黑客会选择使用哪些武器?”

  • 我知道可以使用 firebug 或 chrome 等工具自行更改网站的源代码,但这并不重要,因为我使用 PHP,而且我更担心每个人都会看到什么。

  • 他们可以使用 JavaScript 注入(inject)

  • 他们可以提交要在表单中执行的代码

  • 他们可以对网站进行 DDoS,这会使网站崩溃,而且我不知道有任何防御措施。但我真的不认为我会与一整群不露面的互联网巨型恐怖分子打交道。

  • 他们可以更改电子邮件提交表单的 html,以便将我的密码发送给我(他们)。

  • 他们可以暴力破解我的服务器/FTP 密码,但我通过使用美式键盘上的所有类型的字符来使用强密码。

那么我可以通过哪些方法来保护我的网站免遭黑客攻击?黑客选择破坏或利用网站的所有方式(或一般策略和类别)有哪些?

防御陷阱列表中的任何内容都是好主意或可能的主意吗?

最佳答案

首先,安全性是一个巨大的领域,对于一个如此问题来说太宽泛了,但我会尝试解决您提到的一两个问题。

首先,我认为您低估了当今应用程序在互联网上遭受的一些攻击的巧妙性和危险性。您提到的项目确实涵盖了一些更常见和众所周知的攻击,但您无法简单地解释如何缓解这些攻击并确信您的网站是安全的。如果您期望您的网站受到黑客的关注(即使您没有),您应该从一开始就考虑到安全性。我什至不打算在这里尝试详细说明该声明,因为它是几本书的主题,足以说明您提到的项目甚至没有开始涵盖诸如那里的攻击数量之类的内容.

至于所有的“陷阱”,尽管它们很聪明,但我不会打扰。 “默默无闻的安全”思想的大多数变体通常都是浪费精力——攻击者通常有办法在陷阱被绊倒之前找到它们,甚至完全避开它们。最好的情况是,你捕获他们一次,然后他们只需使用相同的攻击再次进入,第二次他们就不会犯同样的错误。编写陷阱的所有困难,以及必须经历烦人的例程才能以合法用户身份登录,而无法真正提高安全性。

最后,我认为您应该少关注暴力破解,而更多地关注基于利用实际代码、数据库结构、服务器解决方案等中的漏洞的攻击。当然,实现您阻止登录一段时间的想法在 x 次失败的尝试之后,但实际上,正确的安全解决方案是使用需要花费相当长的时间来暴力破解的密码,并确保它们不会与任何人共享,或者(但愿不会)以纯文本形式存储在数据库中。

无论如何,这些只是一些想法。我建议您阅读一本有关该主题的书,因为在此处的答案中解释的范围太广,而且我无论如何都没有专业知识来这样做。

关于php - 黑客可以对网站执行什么操作以及如何保护我的网站免受这些攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9030780/

相关文章:

java - 回顾基于 RMI 的身份验证方法

jquery - 这个 jquery 代码安全吗?

php - 从动态 MySql 表中的第 n 行开始获取 m 行

javascript - 将光标置于输入搜索字段的末尾

javascript - 如何异步加载http ://debug. build.phonegap.com?

javascript - 如何在 Canvas 上显示类似于冒泡排序的合并排序过程

security - SaferCreateLevel SAFER_LEVELID_UNTRUSTED : The application was unable to start correctly (0xc0000142)

php - 我如何将 php 变量放入 mysql 命令中

php - PHP 中的日期/时间格式

PHP:如何获取数组的最后一个值