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

  1. 主要方法有:
  2. 禁止网站代理访问
  3. 尽量将网站做成静态页面
  4. 限制连接数量
  5. 修改最大超时时间等

将以下代码复制粘贴到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可以修改为用户多次刷新后你需要显示给用户的网址。这个网址建议放在三方服务商上。

展开阅读全文

Git 实用技巧

11-24
这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。
©️2020 CSDN 皮肤主题: 像素格子 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值