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上面添加一些其他的内容,比如文字,图片.... 经历几次失败的尝试,终于获取到了正确的代码书写方式. 在此 ...
随机推荐
- net core WebApi——文件分片下载
目录 前言 开始 测试 小结 @ 前言 上一篇net core WebApi--文件分片上传与跨域请求处理介绍完文件的上传操作,本来是打算紧接着写文件下载,中间让形形色色的事给耽误的,今天还是抽个空整 ...
- CRNN+CTC (基于CTPN 的end-to-end OCR)
1. https://zhuanlan.zhihu.com/p/43534801 (详细原理) 2. https://blog.csdn.net/forest_world/article/detai ...
- Jesus Is Here[递推]2015沈阳online
题目链接https://nanti.jisuanke.com/t/41175 自从百度之星初赛一上自己做出来一道打表找规律的题之后,这种膨胀的感觉让我近乎丧失理智,今天这道题我死死盯了两三个小时硬是没 ...
- JavaScrip数据类型
数据类型: 基础数据类型: Number String Boolean Undefined Null 引用数据类型: Object Symbol
- 变量、常量、input、if语句
Chapter2 Python基础 2.1 变量命名规则 字母.数字.下划线组成 不能数字开头 不能使用python中的关键字 变量名具有意义 推荐驼峰(ArvinGood).或者下划线方式 (arv ...
- python 34 多进程(二)
目录 1. 互斥锁 2. 进程之间的通信 2.1 基于文件的通信 2.2 基于队列的通信 1. 互斥锁 当多个进程抢占同一数据时,将数据加锁,使进程按串行的方式去获取数据,先到先得,保证了公平.数 ...
- Oracle数据库之五 限定查询和排序显示
五.限定查询和排序显示 5.1.限定查询 5.1.1 认识限定查询 例如:如果一张表中有 100w 条数据,一旦执行了 " SELECT * FROM 表 " 语句之后,则将在屏幕 ...
- 解决 java Could not resolve resource location pattern [classpath:sql/*.xml] 的问题
时间过的真快,转眼间已经有2年了.2年里发生了太多的事,有些事依稀还记得,但更多的已经忘记.忘记了那些烦恼与忧愁,以为自己会快乐,才发现一切并不是以自己的意志为转移.终于在迷途中迷失了自己, 再也回不 ...
- UVA - 10462-Is There A Second Way Left? Kruskal求次小生成树
UVA - 10462 题意: 求次小生成树的模板题,这道题因为有重边的存在,所以用kruskal求比较好. #include <iostream> #include <cstdio ...
- NOIP 2005 等价表达式 题解
题意 给一个表达式然后再给n个表达式,判断是否等价 一道大模拟题,将a带为数,并且取模防止溢出 #include<bits/stdc++.h> using namespace std; c ...