因为,WordPress 实现的原因,已经无法简单地把 REST API 一禁了之。
如何防止爬虫通过 REST API 爬取文章呢?
给 REST API 加上登录验证就可以了。具体怎么办呢?答案是 rest_authentication_errors 钩子。
add_filter( 'rest_authentication_errors', function( $result ) {
// If a previous authentication check was applied,
// pass that result along without modification.
if ( true === $result || is_wp_error( $result ) ) {
return $result;
}
// No authentication has been performed yet.
// Return an error if user is not logged in.
if ( ! is_user_logged_in() ) {
return new WP_Error(
'rest_not_logged_in',
__( 'You are not currently logged in.' ),
array( 'status' => 401 )
);
}
// Our custom authentication check should have no effect
// on logged-in requests
return $result;
});
返回 true 表示验证通过,false 表示验证失败。返回 WP_Error 表示验证失败的信息。
-
FluentSMTP一款功能强大且免费的WordPress SMTP插件FluentSMTP是一款功能强大且免费的SMTP插件,它支持为WordPress配置多个SMTP发送服务器。
-
追格小程序V2.5.8更新发布追格小程序是一款采用积木式理念的微信小程序构建框架,它巧妙融合了Uniapp与WordPress技术,打造出一个开源且无加密限制的开发环境。
-
WordPress必备:使用wp_get_theme()函数获取当前主题详情在WordPress中,wp_get_theme() 函数用于获取当前启用的主题或指定主题的信息。这个函数返回一个 WP_Theme 对象,该对象包含了主题的详细信息,如主题名称、版本、模板目录、样式表目录等。
-
Redis Object Cache WordPress对象缓存插件Redis Object Cache是一款功能强大、易于使用的WordPress对象缓存插件。通过合理配置和优化,可以显著提高网站的访问速度和用户体验。
-
如何禁用WordPress自动生成的768、1536、2048像素及-scaled缩略图追格小编分享过两篇关于禁止自动裁剪微缩的内容,有兴趣的同学可以看看
-
Table Block by RioVizual 专为WordPress Gutenberg编辑器设计的表格插件Table Block by RioVizual是一款功能多且易于使用的WordPress表格插件。它提供了丰富的定制选项和预设计模板库,使得创建和编辑表格变得轻松快捷。
暂无评论,抢个沙发...