A-A+

wordpress将wp-login.php切换到login.php的方法

2014年04月08日 编程技术 暂无评论

我使用的主机ixwebhosting,这几天说遭到什么攻击,还在修复中,屏蔽掉wp-login.php的功能,建议切换成login.php之类的登录。

想了想,wordpress作为一个博客的软件,被大多数人所青睐,肯定也受黑客青睐,喜欢来找漏洞。

那为了安全起见,我们当然可以将登录wp-login.php切换成login.php,这样可以安全一点。

实现方法步骤,简单记录如下:

1.在网站根目录文件.htaccess重定向路径,.htaccess原来的内容是:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
在行“RewriteBase /”之后增加一行:
RewriteRule ^login$ wp-login.php
增加之后的.htaccess内容如下:(粗体部分是增加的内容)
# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^login$ wp-login.php
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

2.将wp-login.php改名字为login.php

我这里修改完之后不想保留wp-login.php的功能,所以直接改名字。

3.在function.php中增加一个函数,增加的内容是:

add_filter('site_url', 'wplogin_filter', 10, 3);
function wplogin_filter( $url, $path, $orig_scheme )
{
$old = array( "/(wp-login\.php)/");
$new = array( "login\.php");
return preg_replace( $old, $new, $url, 1);
}

这样每次有人调用到wp-login.php时都会切换到login.php上。

4.注意

查看下目录/wp-include 和/wp-admin,如果你有些地方调用到wp-login.php的话,也要修改下你个人的链接,你可以选择使用site_url('wp-login.php?[and the actions]');去替换你的链接。
5.修改主题上登录路径

由于我所使用的主题Hcms 1.2版本,右上角有一个登录的链接,修改该链接的路径。
修改主题下header.php,找到wp-login.php修改成login.php

标签:

给我留言