分类目录归档:原创教程

用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;
}

以上为通用设置,加入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;
}

搞定后重启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版本的。

网件 Netgear WNR3500L V1版刷OPENWRT并配置shadowsocks自动翻墙

新年大扫除的时候翻出了几年前买的NETGEAR WNR3500L路由器,几年前海淘买的,之后因为自己外出工作,这个一直放家里吃灰,既然翻出来了,就让它发挥下功用,把它刷成自动翻墙路由器吧。

前后断断续续搞了几天,查资料,找资源,走了不少弯路,好在最后还是出成果了,看到路由器正常工作,能自动分辨国内国外IP进行智能翻墙后,心里很有成就感!

写这篇文章,主要是做个记录,也备以后翻查,要不,这几天下的功夫,时间一长,又会不知道怎么弄了,也帮助后来者,能帮到人最好了。

下面开始正题

本文查看引用的文章,资源列举如下,感谢他们做出的努力!

Netgear WNR3500L [openwrt wiki]

Reset/Debrick NETGEAR WNR3500L: Pin Short Method

Shadowsocks + ChnRoute 实现 OpenWRT 路由器自动翻墙

WNR3500L官方固件无法直接刷OPENWRT,我们需要先刷入DD-WRT使之能运行刷入OPENWRT的LINUX命令。

dd-wrt的刷机包在此

下载之后在路由器后台选择此文件进行升级,过程大概需要5分钟左右,请勿断电。

等到路由器完全重启后,登陆管理后台“192.168.1.1”设置管理密码。

之后telnet到路由器上,WINXP默认telnet是开启的,WIN7需要开启服务,具体步骤为“控制面板-程序-打开或关闭windows功能-打勾telnet客户端-确定-关闭”

之后就可以开始刷入OPENWRT了。

WINDOWS键+R打开运行窗口,输入CMD调出命令行窗口,以下为刷入OPENWRT的命令

telnet 192.168.1.1
cd /tmp
wget http://downloads.openwrt.org/barrier_breaker/14.07/brcm47xx/generic/openwrt-brcm47xx-generic-squashfs.trx
mtd -r write /tmp/openwrt-brcm47xx-squashfs.trx linux

telnet到路由器之后需要登陆,用户名为root,密码为你登陆路由器管理后台的密码。

使用wget命令必须把路由器连接上网络。

执行最后一个命令刷入OPENWRT时需要较长的时间,别看到路由器长时间没反应就手动重启了。

成功刷入OPENWRT后就进行配置shadowsocks自动翻墙的步骤,上面的第三个链接“飞羽博客”的教程写得非常好,我大致上就是按它的步骤进行操作的。

我是直接登陆到路由器,通过wget命令把shadowsocks需要用到的四个包直接下载到/tmp目录的,省掉了下载到本地再传到路由器的步骤(其实是我不知道怎么回事,路由器sftp服务总是连不上,没法把ipk包传上去,才用了这个法子)。

microMsg.14244477066841

QQ截图20150221212552

QQ截图20150221213010

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时执行任务计划(一天一次),依次类推,你可以很详细的定义任务计划执行的时候,次数,频率!

继续阅读

在OPENVZ VPS上安装PPTP VPN简单教程,基于ubuntu 10.04

本文同步发表于 ubuntu中文官方论坛,转载请注明转载自天空的翅膀.

我自己是这样搭建的,系统环境为 UBUNTU SERVER 10.04 32BIT
在一切开始之前,先更新源再说

代码:

ssh 登录名@服务器ip
sudo vi /etc/apt/sources.list

添加如下

代码:

deb http://archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse

1 探测VPS环境是否支持

代码:

sudo -s
cat /dev/ppp
cat /dev/net/tun

如果其中有一个 返回 Permission denied的话,就表示你的VPS不支持PPTP,你可以联系客服看看能不能帮你开通这两个支持
继续阅读

opm版的androin operamini5.1(修正)

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

下载请点这里.

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

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

继续阅读