WordPress安全防护攻略
个人近期做了一个WordPress站点,目前处于内测阶段,虽然公网还没部署起来,但是先在这学习整理一下安全防护的问题。
第一:及时更新WordPress
由于33%的互联网都在使用WordPress站点,免不了被不怀好意的人盯上,所以官方对安全性非常看重,有专业团队监控并修复各种安全漏洞,可能会频繁的更新补丁,所以我们一定要及时的安装更新官方发布的稳定版本。这是官方设置的第一道防线。
第二:站点部署在可靠的主机上
不要贪图便宜使用不知名公司的主机,要防火墙没防火前,一堆漏洞,没什么专业的人维护。还有不要使用免费的主机,本身服务器维护成本不低,还给你免费使用,想想都不对劲儿。如果被DDOS攻击,靠谱的主机方解决起来有实力。还可以使用CDN加速(付费),来隐藏真实IP。
第三:数据自动备份--主机镜像备份
养成不管做什么,都要有备份的好习惯,即便被黑了,核心数据还在,根就在,怕啥;最坏的事故就是网站彻底做鸡了,还没备份,那心里的噶应感觉真是简直了。
推荐的还有服务器端快照备份和景象备份
数据备份插件推荐: UpdraftPlus 200多万的安装 当前更新时间2019年3月 (备份插件恢复的话不是100%)
有个简单的方法就是 在你的主机服务器上使用快照备份或者镜像备份。
第四:垃圾评论过滤
网站经常会收到一堆垃圾评论,你看就不正经,你看着像广告,但其实可能是XSS(跨站脚本攻击),危害性不可小看
你可以使用 插件: Akismet,千百万人使用,保护自己的站点免受垃圾评论的困扰
第五:身份转换
当网站被人撸了后,应该不会闲的去告诉你,所以没事的时候可以使用技术手段定时检查一下网站的安全漏洞啥的。有不少专业工具可以扫描,Kali Linux就可以攻击WordPress,转换下身份可以自己攻击自己玩玩,又能增长知识还能提前发现安全隐患。
扫描插件推荐: WordFence 当前更新于2019年3月
第六:插件安全性
网站的漏洞可能来源于插件,所以插件尽量少装,能用代码替换用代码替换,再者安装插件的话从WordPress官方的插件中心下载,避免来源不明的插件。
第七:管理员帐号安全性要高
怎么个高法?用户名和密码多种字符串联使用,比如:用户名D2e+@6~p;8[I 密码 k8/*W&^/j6>b.0
那些黑客会利用脚本自动化访问输入用户名密码来暴力破解。如果你的网站装有流量分析或者请求监控的话你可以看看,可以看到请求者的IP和他想访问的地址,从中筛选出"嫌疑犯",当然如果你的站点访问挺多的,这确实不好筛选,如果你有什么好的方法,留言一起学习。
还可以限制登录次数,插件推荐 Login LockDown 当前更新于2016年9月
第八: 更改登录入口
在你登录的时候,你可以看到浏览器地址栏那有个地址(wp-admin),如果你没做修改的话,那是WP默认的后台地址,所以修改掉你的登录入口,可以有效防止被人发现你的后台地址。
第九:使用Https协议
如果你的电脑有什么代理软件或者监听软件,普通的传输方式可能是明文的,恶意者很容易窃取你的信息。改成https放心多了
服务器商官网都有修改https教程,如果你是WordPress站点的话,可以搜索WordPress配置SSL。
第十:关闭.php文件访问权限
WP是用php开发的,在访问你的站点的时候有可能某个链接是.php的,一旦被发现php源文件有漏洞的话,他可能就会做一些渗透。
在.htaccess文件里添加针对敏感目录的规则,禁止直接访问.php文件
<Directory "/var/www/wp-content/uploads/">
<Files *.php>
Order Allow, Deny
Deny from all
</Files>
</Directory>
第十一:数据库
在安装WP的过程中有个数据库环节,其中有数据库表前缀wp_,这是默认的,如果你使用这个,可能会被撞到使用SQL注入的形式攻击你。有备份的话还好,没备份就呵呵了。
第十二:找准目标群体
个人站点是针对国内的,所以国外的一些ip就可以直接拒绝掉了 ,而且大部分进行CC攻击的多数来源是国外,只允许国内用户访问省事多了。
拒绝非中文用户访问:这需要修改 /usr/local/nginx/conf/duimin.com.conf,正常的非中文访问的全部404错误页面。
if ( $http_accept_language ~* ^[^zh])
{ return 404; #非中文用户访问网站返回404 }
第十三:主机服务器设防
靠谱的主机服务商都包含主机安全,Web防火墙,DDos防护,安全组策略(端口开放限制)等功能。
第十四:代码防止CC刷新和DDos
主要方法有:
禁止网站代理访问
尽量将网站做成静态页面
限制连接数量
修改最大超时时间等
将以下代码复制粘贴到functions.php文件中。
//防止CC攻击
session_start(); //开启session
$timestamp = time();
$ll_nowtime = $timestamp ;
//判断session是否存在 如果存在从session取值,如果不存在进行初始化赋值
if ($_SESSION){
$ll_lasttime = $_SESSION['ll_lasttime'];
$ll_times = $_SESSION['ll_times'] + 1;
$_SESSION['ll_times'] = $ll_times;
}else{
$ll_lasttime = $ll_nowtime;
$ll_times = 1;
$_SESSION['ll_times'] = $ll_times;
$_SESSION['ll_lasttime'] = $ll_lasttime;
}
//现在时间-开始登录时间 来进行判断 如果登录频繁 跳转 否则对session进行赋值
if(($ll_nowtime - $ll_lasttime) < 3){
if ($ll_times>=5){
header("location:http://127.0.0.1");//可以换成其他链接,比如站内的404错误显示页面(千万不要用动态页面)
exit;
}
}else{
$ll_times = 0;
$_SESSION['ll_lasttime'] = $ll_nowtime;
$_SESSION['ll_times'] = $ll_times;
}
上面的location:http://127.0.0.1可以修改为用户多次刷新后你需要显示给用户的网址。这个网址建议放在三方服务商上。
WordPress安全防护攻略的更多相关文章
- WordPress搬家全攻略
零.前言 我自己有两个博客,一个是你看到的这个,专门用来写我的技术文章:另一个是我自己的心情记录博客,专门记录和技术无关的东西. 之前我的心情记录博客一直放在openshift上面,这是redhat官 ...
- Linux 服务器配置、运行、不用敲命令(新手必备!) - 宝塔全攻略建站一条龙
Linux 服务器配置.运行.不用敲命令 WordPress 建站攻略 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整 ...
- Win7系统服务优化完全攻略
前文提到Windows系统启动的原理,其中加载各项系统服务是影响系统启动时间的重要因素,之前软媒在Win7之家(http://www.win7china.com/)和Vista之家(http:// ...
- CSS Grid网格布局全攻略
CSS Grid网格布局全攻略 所有奇技淫巧都只在方寸之间. 几乎从我们踏入前端开发这个领域开始,就不停地接触不同的布局技术.从常见的浮动到表格布局,再到如今大行其道的flex布局,css布局技术一直 ...
- 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...
- 微软MVP攻略 (如何成为MVP?一个SQL Server MVP的经验之谈)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 初衷 什么是微软MVP? 成为微软MVP的条件? 如何成为微软MVP? (一) 申请时间划分 (二) 前期准备 (三) ...
- Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
1.apache 在如下页面下载apache的for Linux 的源码包 http://www.apache.org/dist/httpd/; 存至/home/xx目录,xx是自建文件 ...
- 生成 PDF 全攻略【2】在已有PDF上添加内容
项目在变,需求在变,不变的永远是敲击键盘的程序员..... PDF 生成后,有时候需要在PDF上面添加一些其他的内容,比如文字,图片.... 经历几次失败的尝试,终于获取到了正确的代码书写方式. 在此 ...
随机推荐
- 《MyCat分库分表策略详解》
在我们的项目发展到一定阶段之后,随着数据量的增大,分库分表就变成了一件非常自然的事情.常见的分库分表方式有两种:客户端模式和服务器模式,这两种的典型代表有sharding-jdbc和MyCat.所谓的 ...
- Java 从入门到进阶之路(四)
之前的文章我们介绍了 Java 的运算符和表达式,本章我们来看一下 Java 的循环结构. 循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复性进行. 循环的 ...
- C#数据结构_树
树的定义是递归的,用树来定义树.因此,树(以及二叉 树)的许多算法都使用了递归. 结点(Node):表示树中的数据元素. 结点的度(Degree of Node):结点所拥有的子树的个数. 树的度(D ...
- 王某人从0开始学习lorawan的笔记_0
最近老板想做lorawan的项目,交给我了,我也应承下来了,但是!!!我TM连lorawan是啥子我都不知道啊啊啊啊啊! 真希望我女朋友可以看穿我的倔强,给我1千万,让我专心当舔狗,等等,我的女朋友? ...
- 页面单击按钮弹出modaldialog然后调用ajax处理程序获取数据,给父级页面控件赋值
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RefTopicList.asp ...
- 7.解决在python中用selenium启动FireFox浏览器启动不了的方法
首次在利用python中的selenium启动FireFox浏览器时可能碰到如下问题 当输入如下代码时: from selenium import webdriver brower=webdriver ...
- matplotlib 库的使用
1.问题描述: 在学习kaggle经典学习项目Titanic,进行数据可视化处理时,对于每个特征进行相关性分析(也就是绘制pearson correlation heatmap )热力相关性矩阵时, ...
- Badboy参数化 - Add Variable(循环使用不同的关键字进行搜索)
参考: http://leafwf.blog.51cto.com/872759/1113716 http://www.51testing.com/html/00/130600-1367743.html ...
- hdu-6621 K-th Closest Distance
题目链接 K-th Closest Distance Problem Description You have an array: a1, a2, , an and you must answer ...
- CF EDU 1101D GCD Counting 树形DP + 质因子分解
CF EDU 1101D GCD Counting 题意 有一颗树,每个节点有一个值,问树上最长链的长度,要求链上的每个节点的GCD值大于1. 思路 由于每个数的质因子很少,题目的数据200000&l ...