海运的博客

WordPress后台强制使用SSL

发布时间:March 24, 2013 // 分类:WordPress // No Comments

编辑wp-config.php配置文件,在以下内容之前添加:

require_once(ABSPATH . 'wp-settings.php');

管理员登录使用SSL:

define('FORCE_SSL_ADMIN', true);

所有用户登录强制使用SSL:

define('FORCE_SSL_LOGIN', true);

WordPress为关键字自动添加链接

发布时间:March 24, 2013 // 分类:WordPress // No Comments

锚文本链接在网站优化中有很重要的作用,WoredPress可通过添加函数设置特定关键字自动添加链接。

function replace_text_wps($text){
$replace = array(
 '海运的博客' => '<a href="https://www.haiyun.me.com/" rel="home">海运的博客</a>'
 );
$text = str_replace(array_keys($replace), $replace, $text);
 return $text;
}
add_filter('the_content', 'replace_text_wps');   

WordPress为外部链接自动添加nofollow标签

发布时间:March 17, 2013 // 分类:WordPress // No Comments

WordPress发布文章添加外部链接时为不传递权重可添加nofollow标签,通过在模板functions.php添加以下可为外部链接自动添加nofollow标签。

function rel_nofollow( $content ) {
    return preg_replace_callback( '/<a[^>]+/', 'rel_nofollow_callback', $content );
}     
add_filter( 'the_content', 'rel_nofollow', 99999 );

function rel_nofollow_callback( $matches ) {
    $link = $matches[0];
    $exclude = '('. home_url() .'|http://([^.]+\.)?(wp.org|wp.com))';
    if ( preg_match( '#href=\S('. $exclude .')#i', $link ) )
        return $link;

    if ( strpos( $link, 'rel=' ) === false ) {
        $link = preg_replace( '/(?<=<a\s)/', 'rel="nofollow" ', $link );
    } elseif ( preg_match( '#rel=\S(?!nofollow)#i', $link ) ) {
        $link = preg_replace( '#(?<=rel=.)#', 'nofollow ', $link );
    }

return $link;   
}

Nginx下多网站单独php-fpm进程目录权限防跨站

发布时间:March 6, 2013 // 分类:Nginx,PHP,网络安全 // No Comments

Nginx下开多个虚拟机网站防跨站是首要的任务,PHP5.3之前的版本不支持open_basedir,只能通过控制PHP-cgi进程及目录用户权限进行限制,防止跨站访问。

先了解一下网站正常运行所用到的用户、目录权限:
Nginx进程运行用户:接收用户请求,处理静态文件,如果是PHP则转给PHP-CGI处理,网站目录拥有读权限。
PHP-cgi进程用户:处理PHP文件,网站目录拥有读权限,个别目录需要写入权限。

让每个网站使用单独的PHP-CGI进程,创建PHP-FPM配置文件,修改以下:

<value name="pid_file">/usr/local/php/logs/php-fpm.pid</value>
<value name="error_log">/usr/local/php/logs/php-fpm.log</value>
<value name="listen_address">/tmp/www.haiyun.me.sock</value>
<value name="user">www.onovp.com</value>  #PHP-CGI运行用户组
<value name="group">www.haiyun.me</value>

启动PHP-CGI进程:

/usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/www.haiyun.me.conf

设置网站目录权限,设Nginx运行用户为www:

chown -R www.haiyun.me:www /home/wwwroot/www.haiyun.me
chmod -R 550 /home/wwwroot/www.haiyun.me
chmod 701 /home/wwwroot/

再修改Nginx网站配置文件,解析PHP所使用的PHP-CGI进程:

location ~ .*\.(php|php5)?$
{
fastcgi_pass  unix:/tmp/www.haiyun.me.sock;
fastcgi_index index.php;
include fcgi.conf;
}

php-cgi进程简单管理脚本:

#! /bin/sh
# chkconfig: 2345 55 25
#https://www.haiyun.me
cgi=/usr/local/php/bin/php-cgi
case "$1" in
    start)
        for conf in `ls /usr/local/php/etc/*.conf`
        do
            $cgi --fpm --fpm-config $conf
        done
    ;;

    stop)
        for pid in `ls /usr/local/php/logs/*.pid`
        do
                kill -TERM `cat $pid`
        done
    ;;

    restart)
        $0 stop
        $0 start
    ;;


    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
    ;;

esac

AutoHotkey设置CMD快捷键为Bash快捷键

发布时间:March 5, 2013 // 分类:AutoHotKey // No Comments

习惯了Bash的快捷键,发现CMD也有类似于Bash的常用功能快捷键,试着用AutoHotkey映射CMD快捷键为Bash快捷键。

#IfWinActive ahk_class ConsoleWindowClass
^l::Send cls{Enter} ;清除屏幕
^u::Send ^{Home} ;删除当前行光标前内容
^k::Send ^{End} ;删除当前行光标后内容
^a::Send {Home} ;转到行首
^e::Send {End} ;转到行尾
^p::Send {Up} ;上一个命令
^n::Send {Down} ;下一个命令
^b::Send {Left} ;转到前一个字符
^f::Send {Right} ;转到后一个字符
^d::Send {Delete} ;删除后一个字符
^v::send %Clipboard% ;粘贴
!b::Send ^{Left} ;前一个单词
!f::Send ^{Right} ;后一个单词
Return
分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...