分类目录归档:原创教程

用nginx的auth_basic模块保护wordpress后台

查看nginx的log,有很多针对wp-login.php wp-admin的嗅探访问,网上想干坏事的人真是无处不在,还是把后台保护起来吧,断了那些坏银的念想。

google了一下,保护分两种,一种通过php实现,适合使用虚拟主机的用户,另一种通过nginx的auth_basic模块对后台进行密码保护。

两种办法都能起来保护后台的作用,相对来讲,肯定是后一种的性能更好一点,nginx的负载能力特NB的。前一种更方便,但经过PHP处理性能会相对差一点。

我因为用VPS,所以选择第二种,下面两种办法都说一下。

PHP办法:

修改当前主题的functions.php文件

//保护后台登录
add_action('login_enqueue_scripts','login_protection');  
function login_protection(){  
    if($_GET['word'] != 'press')header('Location: https://yourdomain/');  
}

加入以上代码之后,你的后台登陆地址就变成https://yourdomain/wp-login.php?word=press,可以把以上代码的word和press改为你喜欢的任意字符,比如

if($_GET['坏人'] != '滚开')header('Location: https://yourdomain/');

,那么你的后台登陆地址就变成 https://yourdomain/wp-login.php?坏人=滚开,直接访问https://yourdomain/wp-login.php将被重定向的https://yourdomain/(你的首页)。

这个办法有一个缺点,你每次更改主题或升级主题都要重新修改一遍。

 

nginx办法:

先生成加密的密码文件,可以到这里生成,加密方式选crypt,输入你想要的用户名和密码,点生成,把结果输出到 /usr/local/nginx/conf/passwd (你也可以自定义路径,改后auth_basic_user_file的路径要相应改变)。

或者直接用openssl生成,输入如下命令

echo "user:`openssl passwd -crypt yourpasswd`" > /usr/local/nginx/conf/passwd

在server里加入如下设置

location ~ /wp-login\.php  {
location ~ .*\.(php|php5)?$
    {
        fastcgi_pass unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        include fascgi.conf;
    }
  auth_basic            "Restricted";
  auth_basic_user_file  passwd;
}

2016

以上为通用设置,加入php解析项,要不会直接下载wp-login.php

我的服务器环境为军哥的LNMP1.4,在server项的 include enable-php.conf; 后加入如下设置就可以了

location = /wp-login.php  {
        auth_basic           "Restricted";
        auth_basic_user_file  passwd;
        fastcgi_pass unix:/tmp/php-cgi.sock;
        fastcgi_index wp-login.php;
        include fastcgi.conf;20
}

搞定后重启nginx,访问后台看下效果~要求认证了,输入用户名密码,成功进行后台,OK!
看下log情况怎么样
nginx log
嗅探访问全部被返回401了~
Done~

vmware开机后台启动虚拟机应该怎么设置

因工作需要把一个VM虚拟机开机启动,每次都是开机后打开VMWARE选择那个虚拟机再点POWER ON,太没效率,网上搜索VMWARE开机自启并启动指定虚拟机的办法,有多种办法,各有利幣,总结如下
注:开始之前,请把VMWARE安装文件夹加进系统变量里

  1. NO.1 新建一个批处理文件,里面填写启动指定虚拟机的命令,把它放到WINDOWS的启动文件夹里。
  2. NO.2 使用Windows Resource Kit Tools把其注册为服务,开机启动此服务(WINXP测试成功,WIN7失败)。
  3. NO.3 使用VMWARE自带的开机启动虚拟机功能,必须把虚拟机转换为共享才能设置开机自启。

第一种办法最简单,新建一个批处理文件或快捷方式,内容为

vmrun -T ws start "虚拟机的vmx文件路径" nogui

把这个文件放到“启动”文件夹里,加入nogui参数是要让他在后台打开不弹出窗口。

第二种办法,先下载Windows Resource Kit Tools,安装时指定一个比较容易记点的路径,如C:\tools

先注册服务

instsrv VM_Autorun C:\tools\srvany.exe

其中VM_Autorun为我们为服务指定的名称,可随意更改,但必须记住。

打开注册表,定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VM_Autorun (VM_Autorun就是我们刚才指定的名称)

新建项 Parameters 在其内新建一个字符串值 名称为 Application 数值为

vmrun -T ws start "虚拟机的vmx文件路径" nogui

再打开VM_Autorun项,新建一个多字符串值项,名称为 DependOnService 数值为 VMwareHostd

注册表的修改完成,再运行services.msc打开系统服务列表, 选择VM_Autorun服务, 打开服务属性, 在登录页中选择本地系统账户,并勾选允许服务与桌面交互.

之后,重启系统试试吧,开机应该会自动开启虚拟机,但打开VMWARE提示没有正在运行的虚拟机,这种情况我目前找不到解决的办法,望知道的朋友告诉我下~

第三种办法,先把虚拟机转成共享的,再在共享虚拟机页面选择开机启动的虚拟机打勾,具体如下图

112

总结,第三种方法最方便,就是不知道老版本的VMWARE STATION是否支持,我的是VM10版本的。

vps拿到手后必须进行的简单安全设置

VPS拿到手,一般的服务商都是直接给你ROOT帐号,这样管理起来最方便,但不安全,如果你不想太麻烦的话,尽可能的设置强密码,数字+字母+大小写+特殊字符是必须的,不给暴力破解任何机会,如果你使用弱密码的话,你的VPS就如同脱光衣服的美女在色狼窝里面,结果只能是被强X,轮上一遍又一遍,下场非常凄惨!

我建议还是花上一点时间进行安全设置,能把安全系数大大提高。

总的说起来,禁ROOT登陆或禁密码登陆+证书管理

禁ROOT登陆之前我们要先建一个普通帐户 之后通过这个普通帐户提权进行管理 输入命令

useradd 用户名
passwd 用户名

输入两遍密码(无提示符) 普通帐户建好之后,禁止密码登陆 命令

vi /etc/ssh/sshd_config

找到PermitRootLogin 改为no

PermitRootLogin no

保存退出 重启ssh 使用刚才建立的普通帐户登陆VPS 使用su命令提权进行管理

继续阅读

入手Kindle Touch之折腾笔记

5月22号的时候下单购买了Kindle Touch RE版和网件WNR3500L RE版。本来是打算只要路由器的,买KINDLE只是想到手后再出掉,抵消点运费~现在海淘的运费可不比去年了,买这两样东西花了我104.2块钱运费(1.3KG),要搁去年,买这两个东西的运费应该是60块左右,足足涨了近一倍!

把kindle touch挂微博上,挂本地跳蚤市场上,近十天都无人问津!怒了,拆开,自己用了!

kindle touch原来的系统是没有中文的,要说用也能用,这个东西毕竟也不复杂,但对我这半桶水的英文水平确实吃力了点。最初我是计划不汉化,直接就英文界面用当学习英文,最终使用上了,我还是没能坚持下来,装了汉化了。系统原带的字库虽然能显示中文,但字体不好看,看着也累,那些字的线条都粗细不一的,看到这样的显示效果,我直接就囧了:这就是号称纸质书般的显示效果?上网一搜,是字体的问题,毕竟kindle没有在中国发行的,换一个字体就能解决。

继续阅读

网件 NETGEAR WNR3500L 刷DD-WRT和刷回原厂固件的方法

前阵子海淘了个网件NETGEAR WNR3500L V1路由 它非常强大 是开源路由 基于LINUX 对于第三方固件有很好的支持 而且刷第三方固件也不用怕失去保修(对于海淘的人,处在天朝的人来说,这点是浮云!)入了这个路由,肯定是要折腾的,官方固件我用了一天就开刷DD-WRT了,主要是听人家说刷了第三方固件如何如何强大,支持一大堆功能,看得我心动不已!今天就动手开刷了,最终也把DD-WRT刷进去了,一进DD的管理界面,设置项真的是多啊,看得我眼花瞭乱,但进去看了一圈之后,又觉得没意思了,很多功能我都用不上,原来我最看中的路由离线下载功能,自从购买了迅雷会员,有了迅雷离线下载后也变得没必要了。既然用不上,就刷回原厂固件吧,那个更稳定更实在!就继续折腾,一圈之后,总算又刷回原厂固件了,下面把这个折腾的过程说下~~

继续阅读

Nginx平滑升级到0.8.53

今天把VPS上的Nginx版本从0.7.67升级到0.8.53.发下过程.

下面这个过程是基于LNMP.ORG的LNMP一键安装包的.如果不是使用这个的,请自行替换目录地址.

#下载nginx 0.8.53版本,解压 进入解压目录,
wget http://nginx.org/download/nginx-0.8.53.tar.gz
tar zxvf nginx-0.8.53.tar.gz
cd nginx-0.8.53

——-

如果要更改header信息的话,
vi src/core/nginx.h
   #define NGINX_VERSION      “0.8.53”
   #define NGINX_VER          “nginx/” NGINX_VERSION
上面的版本号和nginx自己修改 继续阅读

VPS自动定时备份数据教程

一个网站最重要的东西就是数据,可想而知,一个你辛辛苦苦建立的网站因为数据丢失而得重新来过的心情.如果你不想体会这个心情,定时备份网站的数据就是最好的办法.

但人也有很忙的时候,有疏忽的时候,你总是有可能不能定时的备份数据.如果在你刚刚忘记备份的时候发生了丢失数据,那也是个大大杯具.

为了不让这种杯具发生.我们可以充分利用计算机的任务计划来帮我完成这个定时备份的任务.

在linux系统下,使用

crontab -e

命令就能调出系统任务计划

其使用方法和VI命令一样,按i开始输入命令,其格式为

* * * * * 要定时运行的命令或脚本

前面的五个星号依次代表 分钟 小时 日期 月份 星期 ,全部用阿拉伯数字表示.*号是通配符.这样说你可能不是很明白.举个例子,如果你前面填的是五个*号,那么就代表你这个任务计划是1分钟执行一次.第一个*号用1代替,就代表在每个小时的第一分钟执行一次(一小时执行一次),第二个*号填的是24的话,代表在24时执行任务计划(一天一次),依次类推,你可以很详细的定义任务计划执行的时候,次数,频率!

继续阅读

opm版的androin operamini5.1(修正)

一句话,需要的下,你懂的.

下载请点这里.

说明: 这个版本是我利用我自已的博客服务器空间架设的中转服务器. 月流量100GB.不过如果用的人多了,还是有流量压力,而且这样还很容易导致服务器撞墙,所以,强烈建议有条件的兄弟自已架设中转服务器并修改成自专用的..

以下是教程,一步一步来,很容易的.

继续阅读

opm版的androin operamini5.1

一句话,需要的下,你懂的.

下载请点这里.

 

说明: 这个版本是我利用我自已的博客服务器空间架设的中转服务器. 月流量100GB.不过如果用的人多了,还是有流量压力,而且这样还很容易导致服务器撞墙,所以,强烈建议有条件的兄弟自已架设中转服务器并修改成自专用的..

 

继续阅读

我又把Add Post URL这个插件停掉了

网站访问速度不好,只好打起插件的主意,第一个被我干掉的插件是 easy adsense,我自已修改代码已经完美实现了他的功能,这第二个插件就是add post url 插件了.

这个插件的作用是在每篇文章的最未终加入一个说明,效果详见本文最下端.

话说这个插件实现的功能是如此简单,以致我改起来也毫无困难,没啥技术含量,直接给出我修改后的single.php(文章模板页)的代码,大家看着改就是.

我的博客总共启用了十一个插件,现在已经被我干掉两个了,剩下九个!

下一个要省掉的插件是 Target Blank In Posts And Comments 这个插件的作用是,把博客文章中出现的所有站外链接都在新窗口打开.

我正在寻找优化掉它的方法,大家有什么思路也可跟贴跟我说一下~~万分感谢~~

下面是我修改后的代码.

<span style="color: #0000ff;"><?</span><span style="color: #800000;">php</span> <span style="color: #ff0000;">the_content</span>(); ?<span style="color: #0000ff;">></span>                <span style="color: #008000;"><!--edit--></span><span style="color: #0000ff;"><</span><span style="color: #800000;">hr</span> <span style="color: #0000ff;">/></span>    <span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">><</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">></span>本站文章如无注明转载,均为原创文章,转载请注明:<span style="color: #0000ff;"></</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">></span> 转载自<span style="color: #0000ff;"><</span><span style="color: #800000;">a</span> <span style="color: #ff0000;">href</span>="<?<span style="color: #ff0000;">php</span> <span style="color: #ff0000;">bloginfo</span>(<span style="color: #0000ff;">'url'</span>); ?<span style="color: #0000ff;">></span>"<span style="color: #0000ff;">><?</span><span style="color: #800000;">php</span> <span style="color: #ff0000;">bloginfo</span>(<span style="color: #0000ff;">'name'</span>); ?<span style="color: #0000ff;">></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">><</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">></span>本文链接地址:<span style="color: #0000ff;"></</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">a</span> <span style="color: #ff0000;">href</span>="<?<span style="color: #ff0000;">php</span> <span style="color: #ff0000;">the_permalink</span>() ?<span style="color: #0000ff;">></span>" <span style="color: #0000ff;">><?</span><span style="color: #800000;">php</span> <span style="color: #ff0000;">the_title</span>(); ?<span style="color: #0000ff;">></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span>                <span style="color: #008000;"><!--editend--></span>