wordpress防止网站被挂马

1、修改默认的用户名admin与密码

在wordpress安装时可以设置用户名,后期更改比较麻烦,所以尽量不要使用默认的用户名,网站密码可以在后台设置,尽量设置复杂一点,如果用户名已经使用admin,可以使用下面方法进行修改wordpress用户名。

wordpress安全防护设置-防止网站被挂马-1

方法一:后台新建一个用户,角色为管理员,然后使用新用户登录,删除默认的 admin 用户。
方法二:可以使用数据库管理软件Navicat for MySQL或者phpmyAdmin进入数据表wp_users ,将 user_login字段 和 user_nicename字段修改为您的新用户名。

wordpress安全防护设置-防止网站被挂马-1

2、修改wp-admin目录的访问权限
你可以通过限定IP地址访问WordPress管理员文件夹来进行保护,所有其他IP地址访问都返回禁止访问的信息。另外,你需要放一个新的.htaccess文件到wp-admin目录下,防止根目录下的.htaccess文件被替换。

3、设置主题文件权限

如果您不是需要经常修改主题文件的话,可以把主题文件,尤其是functions.php文件设置为禁止写入

4、隐藏WordPress版本信息
默认情况下会在头部输出WordPress版本信息,你可以在主题的 functions.php 最后面添加:

//隐藏版本号
function wpbeginner_remove_version() {
return ”;
}
add_filter(‘the_generator’, ‘wpbeginner_remove_version’);

5、修改后台登陆地址

//修改WordPress后台登录地址
add_action(‘login_enqueue_scripts’,’login_protection’);
function login_protection(){
if($_GET[‘hello’] != ‘world’)header(‘Location: /’);
}

修改后的登陆地址为(如果登陆地址不正确就跳到到首页)

http://www.xxxx.com/wp-login.php?hello=world

方法二:首先找到wordpress根目录下的wp-login.php 搜索wp_shake_js找到下方代码

if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )
add_action( ‘login_head’, ‘wp_shake_js’, 12 );

//在这段后面加入代码
if($_GET[“aa”] !=”bb”){header(‘Location:/404’);}

//后台地址就变成了 /wp-login.php?aa=bb

6、wordpress加登陆验证码 (在主题文件function.php文件中添加) 方法一:

wordpress安全防护设置-防止网站被挂马-1

//后台登陆数学验证码开始
function myplugin_add_login_fields() {
//获取两个随机数, 范围0~100
$num1=rand(0,100);
$num2=rand(0,100);
//最终网页中的具体内容
echo “

“;
}
add_action(‘login_form’,’myplugin_add_login_fields’);
function login_val() {
$sum=$_POST[‘sum’];//用户提交的计算结果
switch($sum){
//得到正确的计算结果则直接跳出
case $_POST[‘num1′]+$_POST[‘num2′]:break;
//未填写结果时的错误讯息
case null:wp_die(‘提示: 请输入验证码.’);break;
//计算错误时的错误讯息
default:wp_die(‘提示: 验证码错误,请重试.’);
}
}
add_action(‘login_form_login’,’login_val’);
//后台登陆数学验证码结束
方法二:

wordpress安全防护设置-防止网站被挂马-2

/*———————————————————————————–*/
/* WordPress登陆后台随机混合数验证码
/*———————————————————————————–*/
# 登录后台添加验证码第一种
function loper_login_english_figures() {
# 获取英语和数字随机数, 范围0~99,目前是0~5,5位数
$num1=substr(md5(mt_rand(0,99)),0,5);
echo “



“;
}
add_action(‘login_form’,’loper_login_english_figures’);
# 判断验证码是否空白和错误
function loper_login_calculation() {
$sum=$_POST[‘sum’];
switch($sum){
case $_POST[‘num1′]:break;
case null:wp_die( __( ‘错误:请填入验证码!’ ), ”, array( ‘back_link’=>true ) );break;
default:wp_die( __( ‘错误:验证码不正确!’ ), ”, array( ‘back_link’=>true ) );}
}
add_action(‘login_form_login’,’loper_login_calculation’);

7、修改wordpress数据表前缀

a、一般在我们安装wordpress就尽量修改默认的数据表前缀wp_ 后期再更改会有些麻烦

wordpress安全防护设置-防止网站被挂马-3

b、 如果已经使用了默认数据前缀改如更改呢?下面是具体更改方法

修改数据是一件风险很高的工作,开始之前必然就是做好数据库备份

修改数据库前缀

打开你的 wp-config.php 文件,把数据库前缀 wp_ 改成你想要的前缀,比如 22vd_。

$table_prefix = ’22vd_’;

修改数据表名字

打开 PHPMySQL,找到你的数据库,然后执行以下 SQL,把所有数据库表前缀从 wp_ 改成 22vd_ 。

RENAME table ‘wp_commentmeta’ TO ’22vd_commentmeta’;

RENAME table ‘wp_comments’ TO ’22vd_comments’;

RENAME table ‘wp_links’ TO ’22vd_links’;

RENAME table ‘wp_options’ TO ’22vd_options’;

RENAME table ‘wp_postmeta’ TO ’22vd_postmeta’;

RENAME table ‘wp_posts’ TO ’22vd_posts’;

RENAME table ‘wp_terms’ TO ’22vd_terms’;

RENAME table ‘wp_term_relationships’ TO ’22vd_term_relationships’;

RENAME table ‘wp_term_taxonomy’ TO ’22vd_term_taxonomy’;

RENAME table ‘wp_usermeta’ TO ’22vd_usermeta’;

RENAME table ‘wp_users’ TO ’22vd_users’;

修改 Options 表中的数据

使用下面语句把 options 表中的 option_name 以 wp_ 开头的值改成 22vd_ 开头。

SELECT REPLACE(option_name, ‘wp_’, ’22vd_’) FROM wpdx_options;

修改 UserMeta 表中的数据

使用下面语句把 UserMeta 表中的 meta_key 以 wp_ 开头的值改成 22vd_ 开头。

SELECT REPLACE(meta_key, ‘wp_’, ’22vd_’) FROM wpdx_usermeta;


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/50227/