欢迎光临
我们一直在努力

避免暴露你的 WordPress 管理员登录用户名

admin阅读(49)评论(2)

昨晚在研究评论结构时,网站右键查看源代码,无意间发现自己的管理员用户名被暴露了…

5bf0e4632a9a8b2

图1 评论中暴露登录用户名

43f7ea5e4292376

图2 用户页面中也暴露登录用户名

要彻底隐藏用户名,目前需要走两个步骤:

步骤1:将作者存档链接中的用户名更改为用户ID

详细方法可以参看大学之前的文章:https://www.wpdaxue.com/use-user-id-for-author-slug.html

龙笑天下网已经通过这个方法隐藏存档链接中管理员用户名,没想到管理员用户名还是以另一种方式暴露了… 不过还好,非常隐蔽~~然后查看了下其它几个wordpress的博客,他们也全部中招了(话说,各位博主的管理员登录用户名真的好复杂啊!)!看来是 wordpress的通病了!大家赶紧自查下哦~所以看下步骤2。

注:虽然我们还可以将作者归档链接中的用户名改为用户昵称,但是由于我们更多地使用中文作为昵称,会导致链接地址可能出现一些问题,所以不推荐。

步骤2:去除 comment_class() 和body_class()输出的用户名

11月04日经过张戈的提醒和龙砚庭博主文章的提示,得到了一个基本完美的解决方案:也就是将comment_class()函数里输出的comment-author-test10这个class去掉,也将body_class()函数里输出的author-test10这个类似的class去掉。因为这个是通过functions.php来解决的,所以不用担心wordpress程序升级的问题。方法是,将以下代码加入functions.php中,即可完事!

/** 
* 如何正确的避免你的 WordPress 管理员登录用户名被暴露 
* http://www.ilxtx.com/further-hide-your-wordpress-admin-username.html 
* 说明:直接去掉函数 comment_class() 和 body_class() 中输出的 "comment-author-" 和 "author-" 
*/ 
function _comment_body_class($content){
 $pattern = "/(.*?)([^>]*)author-([^>]*)(.*?)/i";
 $replacement = '$1$4';
 $content = preg_replace($pattern, $replacement, $content);
 return $content; 
} 
add_filter('comment_class', '_comment_body_class'); 
add_filter('body_class', '_comment_body_class');

comment_class()body_class()过滤的结果分别是:

// comment_class()过滤后的结果如下,去掉了原有class里的comment-author-test10,请和上面的图1比较 
class="comment byuser bypostauthor odd alt thread-odd thread-alt depth-1"   
// body_class()过滤后的结果如下,去掉了原有class里的author-test10和author-1,请和上面的图2比较 
class="archive author logged-in"

好了,到这里就OK啦!

为你的网站添加一个横向进度条

admin阅读(17)评论(0)

JS代码

$(function() {
function scroll_fn(){
document_height = $(document).height();
scroll_so_far = $(window).scrollTop();
window_height = $(window).height();
max_scroll = document_height-window_height;
scroll_percentage = scroll_so_far/(max_scroll/100);
$('#load').width(scroll_percentage + '%');
}
$(window).scroll(function() {
scroll_fn();
});
$(window).resize(function() {
scroll_fn();
});
});

html部分

<div id="load"></div>

 CSS部分

/*进度条CSS  www.qyblog.cn*/
#load {
    background-color: #ff6651;
    height: 3px;
    width: 0px;
    position: fixed;
    left: 0px;
    top: 0px;
    z-index: 9999;
}

为你的WordPress主题增加一个点赞功能!

admin阅读(16)评论(0)

每当我们看到一篇好的文章,我们都忍不住想为作者点赞,这篇文章教你如何在wordpress主题增加一个点赞功能,让你的好文章也能让人为你点赞!!

1、将下面的代码放到你主题的function.php文件当中

add_action('wp_ajax_bigfa_like', 'bigfa_like');
function bigfa_like() {
	global $wpdb,
	    $post;
	$id = $_POST["um_id"];
	$action = $_POST["um_action"];
	if ($action == 'ding') {
		$bigfa_raters = get_post_meta($id, 'bigfa_ding', true);
		$expire = time() + 99999999;
		$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false; // make cookies work with localhost 
		setcookie('bigfa_ding_'.$id,$id,$expire,'/',$domain,false);
		if (!$bigfa_raters || !is_numeric($bigfa_raters)) {
			update_post_meta($id, 'bigfa_ding', 1);
		} else {
			update_post_meta($id, 'bigfa_ding', ($bigfa_raters + 1));
		}
		echo get_post_meta($id,'bigfa_ding',true);
	}
	die;
}

2、添加JS代码,可以放到主题的mian.js里面

$.fn.postLike = function() {
	if ($(this).hasClass('done')) {
		return false;
	} else {
		$(this).addClass('done');
		var id = $(this).data("id"),
		action = $(this).data('action'),
		rateHolder = $(this).children('.count');
		var ajax_data = {
			action: "bigfa_like",
			um_id: id,
			um_action: action
		};
		$.post("/wp-admin/admin-ajax.php", ajax_data, function(data) {
			$(rateHolder).html(data);
		});
		return false;
	}
};
$(document).on("click", ".favorite", function() {
	$(this).postLike();
});

3、把想要出现点赞的地方插入一下代码!

<div class="post-like">
<a href="javascript:;" data-action="ding" data-id="<?php the_ID(); ?>" class="favorite<?php if (isset($_COOKIE['bigfa_ding_' . $post->ID])) echo ' done'; ?>">喜欢 <span class="count">
<?php if (get_post_meta($post->ID, 'bigfa_ding', true)) {
    echo get_post_meta($post->ID, 'bigfa_ding', true);
} else {
    echo '0';
} ?></span>
</a> 
</div>

4、最后在添加CSS文件,这里CSS文件只是作为参考,可以修改为自己喜欢的样式!

.post-like{text-align:center;padding:10px}
.post-like a{ background-color:#21759B;border-radius: 3px;color: #FFFFFF;font-size: 12px;padding: 5px 10px;text-decoration: none;outline:none}
.post-like a.done, .post-like a:hover{background-color:#eee;color:#21759B;}
.post-like a.done{cursor:not-allowed}

禁止国外外网IP访问WordPress,防止扫描及攻击

admin阅读(16)评论(0)

你是否频繁收到攻击邮件,扫描用户名及密码?恶意采集?那么看看本教程,会给你带来一些帮助。
本站即为演示。
阿柳云频繁收到外网IP攻击,试图使用插件BAN,但是效果不佳,老外使用的是J万个IP,怎么能一一禁止ban,所以阿柳云只能全封外国IP,无奈之举,也是为了阿柳云网络的安全。
不多说了,希望此篇教程能帮助到一些WP站友,下面附上阿柳云使用的源代码。
禁止外网访问PHP
/**
* WordPress 显示评论者IP归属地PHP函数
* https://www.aliuyun.cn/wordpress/wordpress-course/management/jinzhi-waiguo-ip.html
**/

function aliuyun_getRealIp()
{
  $ip=false;
  if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    $ip = $_SERVER["HTTP_CLIENT_IP"];
  }
  if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    for ($i = 0; $i < count($ips); $i++) {
      if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
        $ip = $ips[$i];
        break;
      }
    }
  }
  return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}

 
function aliuyun_locate($ip) {
$ip=aliuyun_getRealIp();
    if(empty($ip)) $ip = get_comment_author_IP();
    $ch = curl_init();  
    $timeout = 5;  
    curl_setopt ($ch, CURLOPT_URL, 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);  
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
    $file_contents = curl_exec($ch);  
    curl_close($ch);  
    $result = json_decode($file_contents,true);
    if ($result['data']['country'] != '中国') {
        wp_redirect( 'https://www.aliuyun.cn/aliuyun-news/womenshizhongguoren.html' );
    } else {
        echo '<!-- 运营商是'.$result['data']['isp'].',IP是'.$ip.',阿柳云禁止一切外国佬访问!别问我为什么!因为钓鱼岛是中国的! -->';
    }
}
add_action( 'wp_footer', 'aliuyun_locate' );
你只需将以上代码加入到主题中的function.php即可。刷新页面试试效果,如果主题中出现那么恭喜你,禁封老外成功了!!
其中,wp_redirect( ‘https://www.aliuyun.cn/aliuyun-news/womenshizhongguoren.html’ );可替换为wp_die(‘FUCK YOU!!!!!!!!!!’, ‘FUCK YOU!’, array(‘response’ => ‘503’));这样直接503,SEO也还行。如果不替换的话,老外访问全部跳转到https://www.aliuyun.cn/aliuyun-news/womenshizhongguoren.html这个链接了。这个链接,你自己修改即可。

wordpress禁用古腾堡(Gutenberg)编辑器

admin阅读(24)评论(1)

WordPress更新到5.0后采用了最新的古腾堡编辑器,很多人刚上手还不适应,下面就交给大家怎么关闭古腾堡编辑器

1、在主题的function.php文件添加下面代码

//禁用Gutenberg
add_filter('use_block_editor_for_post', '__return_false');

2、使用插件Classic Editor

该插件目前还不支持通过语言包翻译,所以只有英文版。你可以在后台插件安装界面搜索 Classic Editor  直接安装启用,或者到官方下载安装:https://wordpress.org/plugins/classic-editor/

WordPress 6.0.1 简体中文版导致摘要截取失效的解决办法

admin阅读(15)评论(0)

最近收到主题用户反馈,网站的CMS模块摘要巨长,连商品中心的摘要也变得巨长,之前可以显示指定字数的内容摘要,升级到 WordPress 6.0.1 简体中文版以后,摘要变为了全文内容:

经过排查,问题出在了汉化语言包 wp-content/languages/zh_CN.mo,也就是说,汉化人员可能在翻译时存在一些错误,导致了WordPress 6.0.1 简体中文版的摘要截取失效。

目前已知安装了WordPress 6.0.1 简体中文版,通过 excerpt_length filter钩子或 wp_trim_words() 截取摘要的,都会导致摘要截取功能失常,其他情况未知。

临时解决办法:

  1. 下载 WordPress 6.0 简体中文版,将 wp-content/languages/ 里面的 zh_CN.mo 文件,上传到出问题的网站的 wp-content/languages/ 目录覆盖同名文件。
  2. 将下面的代码添加到网站根目录的 wp-config.php 第一个 <?php 下面,禁止自动更新翻译:define( 'WP_AUTO_UPDATE_TRANSLATION', false );

希望简体中文翻译贡献者可以尽快更新翻译,解决此问题!

WordPress 6.0 版本新增哪些功能

admin阅读(23)评论(0)

WordPress 6.0正式版本发布,我们有些网站会被自动升级到6.0版本,有些朋友是手工升级的。根据老蒋的经验,我们即便需要升级也需要先备份一下数据,然后最好是通过手动升级WP的办法到新的版本,防止有不兼容的问题。

4e87aa304991f87

这次升级版本的名字灵感来自格莱美奖得主爵士音乐家 Arturo O’Farrill。不管出于什么灵感,我们关注的还是功能。用WP官方的话说,这次升级和增加有1000+的功能,当然很多功能细节是看不到的,这里有9个常规的功能。

1、增强的写作体验

428bc3220dddd35

无论您是在撰写全新的帖子还是在现有页面中添加元素,写作改进都比比皆是。 探索更多简化内容创建过程的方法,包括:

跨多个块选择文本以便于复制和粘贴。

键入两个开括号以快速访问最近的帖子和页面列表。

当您将某些块从一种类型转换为另一种类型时(例如,从段落块转换为代码块),请保留现有样式。

创建自定义按钮,您制作的任何新按钮都将自动保留样式自定义。

通过更新的设置和控件以及标签云的新轮廓样式,使标签云和社交图标更具吸引力。

2、风格切换

70be84ac93b1cdf

块主题现在包括包含多种样式变体的选项。 这进一步扩展了新的样式系统,并启用了在单个主题中切换站点外观和感觉的快捷方式。 在支持此功能的块主题中,您可以更改可用设置(如字体粗细)和样式选项(如默认调色板)。 只需单击几下即可更改网站的外观。

3、更多模板选择

36e12c6be039c68

WordPress 6.0 包括五个用于块主题的新模板选项:作者、日期、类别、标签和分类。 这些附加模板为内容创建者提供了更大的灵活性。 使用您已经知道的工具或此版本中的以下新选项定制每个工具:

特色图像可用于封面块。

新的特色图像大小控件使您更容易获得所需的结果。

在编辑模板时,在根部或块之间,快速插入器会向您显示模式和模板部分,以帮助您更快地工作并发现新的布局选项。

查询块支持对多个作者进行过滤,支持自定义分类法,并支持自定义没有结果时显示的内容。

4、集成模式

d929d8bc8765e0e

现在,当您在更多地方需要模式时,例如在快速插入器中或创建新的页眉或页脚时,它们会出现。如果您是块主题作者,您甚至可以使用“theme.json”从模式目录中注册模式,从而使您能够优先考虑对您的主题用户最有帮助的特定模式。

5、其他设计工具

设计工具随着每个版本的发布而变得更加强大和直观。 6.0 的一些亮点包括:

新的彩色面板设计节省了空间,但仍然一目了然地显示您的选择。

新的边框控件提供了一种更简单的方法来完全按照您的喜好设置边框。

颜色的透明度级别允许更多创造性的颜色选择。

在组块中一次控制一组块的间隙、边距、排版等。

在堆栈、行和组变体之间切换以定位具有更大布局灵活性的块组。

使用图库块中的间隙支持功能来创建不同的外观 – 从添加所有图像之间的间距,到完全消除间距。

6、更好的列表视图

dbd0300fe00c0b9

新的键盘快捷键使您能够从列表视图中选择多个块,批量修改它们,并将它们拖放到列表中。 列表视图可以轻松打开和关闭; 默认情况下它是折叠的,只要您选择一个块,它就会自动扩展到当前选择。

7、块锁定控件

2e23946015b0a5a

现在你可以锁定你的块了。选择禁用移动块、删除块或两者的选项。这简化了项目移交,让您的客户释放他们的创造力,而不必担心在此过程中意外破坏他们的网站。

8、改进 WordPress 6.0 的性能

此版本包括几个专注于提高 WordPress 性能的更新。这些增强功能涵盖了一系列性能领域,包括提高页面和加载后速度、减少各种查询类型的执行时间、缓存、导航菜单等等。

9、增强 WordPress 6.0 的可访问性

可访问性是 WordPress 培养包容性社区和支持世界各地所有类型用户的使命的一个组成部分。考虑到这一点,WordPress 6.0 包括 50 多项更新,专门针对增强平台的可访问性。

亲测网络建站 专业 快捷

联系我们主题购买
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册