SQL注入对于WordPress网站来说可能是毁灭性的,这些恶意程序可能会破坏你的数据,甚至破坏啊整个网站服务器,学习如何预防如此巨大的攻击威胁对网站的整体安全至关重要。
SQL注入WordPress攻击简介:
SQL即机构化查询语言,WordPress使用SQL从网站数据库中检索关键信息,WordPress网站依靠它来实现动态内容的生成。
黑客可以通过在SQL中编写恶意语句来攻击数据库服务器,利用各种输入字段中的漏洞,包括登录表单、评论和联系表单,如果没有做相应的安全设置,WordPress会将恶意代码当做合法命令处理,从而允许黑客访问你的数据。
一旦有了访问权限,黑客就可以为所欲为,比如窃取个人信息或者财务信息,删除或者加密数据要求赎金等等,结果导致的可能不只是金钱上的损失,还有客户的信任度,甚至会导致真个网站的消失。推荐阅读:《如何保护您的 WordPress 免受暴力攻击》
如何防止SQL注入:
1.验证或清理用户提交的数据
验证和清理一般由专业人员来处理,开发人员通常使用WordPress的核心功能为他们的第三方程序完成这一过程。然而非专业开发人员依然可以使用一些简略版操作来防止SQL注入。
首先是验证,确保用户输入的内容与预设的格式匹配,比如如果缺少@符号,WordPress就不会通过邮箱格式的验证。
我们可以使用表单构建起为自定义字段应用类似的规则,例如:
应用尽可能多的字段时,可以限制SQL注入低风险。
除了验证之外,清理也可以降低攻击的风险,通过限制某些字段中使用特殊字符帮助清理数据,例如,“ ‘ ”是SQL代码的常见部分,因此可能需要在输入中禁止使用。
还有一个办法就是用下拉选项来代替开放式的答案,减少黑客访问数据的机会,且不会影响客户体验。
虽然大多数好的WordPress表单插件都会自动清理数据以避免SQL注入,但是添加自己的保护仍然是进一步提高安全性的最佳措施。
2.遵循安全时间表
最简单也是最重要的步骤,就是主动更新软件。应用程序并非不受SQL攻击的影响,由于你允许这些程序访问你的网站,黑客可以通过这些第三方的软件访问到你的信息。当开发人员发现他们的安全漏洞的时候通常也会第一时间发布更新来修复,因此最好在布丁发布后第一时间更新软件。这里所说的软件除了WordPress本身,还包括主题和插件。推荐阅读:《如何防止社交媒体服务器上的黑客攻击》
3.创建自定义数据库错误消息
数据库错误是比较常见的,其中又有些信息会非常详细的显示网站的基础架构,这使得它非常容易受到SQL注入攻击,一位Stack Overflow 用户发布了一个过度共享的示例:
通过了解你的数据表,这些恶意行为者将更容易通过 SQL 注入攻击你的站点,解决此问题的一种简单方法是提供通用错误消息。
首先,确保有一个文件传输协议 (FTP) 客户端连接到你的站点,比如FileZilla,接下来创建爱你一个新的文件,命名为db-error.php,然后,粘贴以下代码:
body { padding: 20px; background: red; color: white; font-size: 60px; }
There has been a database error.
这只是一个模版,还需要自定义消息。保存之后打开DTP客户端,找到网站的根目录打开wp-content文件夹,将前面创建好的文件放到这个目录下。
4.限制访问和不必要的功能
WordPress可以设置针对不同的用户对网站不同的访问权限,权限越高的角色就拥有越多的可能性来输入数据,因此限制具有此访问权限的人数会自动降低您收到SQL WordPress注入攻击的几率。可以在Settings–New User Sefault Role下将默认的新用户角色设置为尽可能低的权限:
同样的原则也适用于不必要输入的字段,即使用下拉选框代替手动输入。
此外,建议不要在网站上允许共享账户,例如,如果网站有3个管理员,他们都应该有自己的用户名或者密码,在出现可疑活动的情况下,更容易跟踪和阻止。
5.考虑使用高级安全工具来防止 SQL 注入 WordPress 攻击
很多SQL注入攻击防护的方法都含有一定的技术性,换句话说,这个主要还是需要由网站开发人员(专业人员)来负责。
作为一个新手站长,我们可能没有办法那么快的成长为一个WordPress的专家来编写代码程序,然而这并不意味着我们就什么都做不了了,我们可以考虑投资先进的安全技术以确保自己的安全。
特别是防火墙对SQL注入非常有效,WordPress有许多提供防火墙的高质量插件,虽然有些是付费的,但是即便是免费的防火墙,对于基础的防护也是足够了的。
另外,建议您的网站安装SSL证书并使用https,可以选择付费的也可以使用免费的Let’s Encrypt。
SSL除了可以提高对攻击整体安全性之外,还有主意防止客户在访问时不至于收到浏览器的安全警告,任何网站我认为都是需要的。推荐相关阅读:《导致你的WordPress被黑客攻击的5个常见原因》