WordPress如何代码实现完全禁用REST API

WordPress程序开发应用十分之广泛。个人博客、企业站,电商网站甚至小程序开发都可以使用到WordPress程序。WordPress 官方的功能更新也非常积极主动。

WordPress 从 4.4 版本开始新增了JSON REST API 功能。这个是非常棒的功能通过REST API可以很方便地获取网站数据,可应用于其他网站、手机 APP 或小程序开发等,在开发过程中极大地方便了开发者。

[ad]

如果博客没有任何APP和小程序功能,那么你可以选择屏蔽 WordPress REST API 功能。 JSON REST API 功能对于绝大部分的WordPress网站是没有必要启用的,启用JSON REST API 反而会影响网站的运行效率。

而且REST API 采用 GET 请求方式,非常容易遭到DDOS 攻击,所以尽可能禁止启用REST API ,同时需要去掉 head 里面输出 WP-JSON链接。

如何查看 WP JSON REST API 是否开启。

在浏览器访问https://zhuji.gd/wp-json/,若输出数据,则WP JSON REST API是开启状态。

网上的教程只适合 WordPress 4.7 以前的版本。

在 WordPress 4.7 版本之前可以通过在functions.php 文件中添加入以下代码屏蔽 REST API:

// 屏蔽 REST API
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');

// 移除头部 wp-json 标签和 HTTP header 中的 link
remove_action('wp_head', 'rest_output_link_wp_head', 10 );
remove_action('template_redirect', 'rest_output_link_header', 11 );

但自 4.7.0 版起,官方已不建议使用 rest_enabled,需要换用 rest_authentication_errors。 REST API 不再能被完全禁用,不过可以用“rest_authentication_errors”过滤器来限制对该 API 的访问。

因此如果我们想兼容各个版本WordPress,可以直接使用插件Disable REST API、Disable WP REST API还有我爱水煮鱼的WPJAM BASIC插件来完全禁用 REST API。

另外需要注意的是,屏蔽 REST API 会直接导致文章Emebed功能失效。

那么有没有不需要通过安装插件就可以代码实现完全禁用 REST API 或者说移除 head 里面 wp-json 链接的方法?

龙笑天博客的Dragon主题就集成了这个代码。下面代码来自龙笑天博客。

将以下代码添加到functions.php 中,即可禁用 JSON REST API :

这样在访问WP-JSON的链接时就会提示无权限。

此外,对于 WP 4.7 以上版本,还可以通过rest_api_init这个钩子来禁用 REST API 的方法,也可以尝试并改造下。

/**
 * WordPress完全禁用REST API - 龙笑天下
 */
/*禁用未登录的用户*/
add_filter( 'rest_api_init', 'lxtx_rest_only_for_authorized_users', 99 );
function lxtx_rest_only_for_authorized_users($wp_rest_server){
    if ( !is_user_logged_in() ) {
        wp_die('非法操作!');
    }
}

相关参考:

我爱水煮鱼

龙笑天博客

【声明1】:如本站转载别的站的文章,我个人没有添加来源,您可以发电邮:admin#zhuji.gd 提醒我,我会尽快添加文章来源。 【声明2】:本博客不参与任何交易及中介服务,只记录 VPS 测评和优惠,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。
(0)
上一篇 14/04/2019 11:52
下一篇 15/04/2019

相关推荐

  • WordPress无插件自动实现标签关键字内链

    柳城博客在很多年前推出一款WordPress内链外链插件:WP keyword Link Plugin。这款插件可以为WordPress博客自动添加关键词的链接,为WordPress博客添加更多的内链和外链,有利于WordPress博客SEO优化。 这款插件也支持给博客文章标签给添加内部链接,转化为关键词,更加有利于增加搜索引擎收录。 这款插件完美支持中英文关键词。 可惜了,柳城已经好几个大版本没有对WordPress内链外链插件:WP keyword Link Plugin进行更新。 而...

    技术教程 29/03/2019
    690
  • 如何在WordPress博客实现历史上的今天的小功能

    在begin主题或者其他收费主题中,作者都代码集成了历史上的今天这样一个小功能。通过在文末显示一年前的文章。 其实也可以通过wp-today插件实现这个功能,但是wp-today插件作者柳城博客已经不再更新这个插件了。这个插件比较小,虽然是非常久远的插件,但是使用起来还是非常不错的。 这个WordPress插件对内链的优化相当不错的。所以还是非常值得拥有的。 [ad] 不过前提是文章要比较多,更新时间要比较长,最短也要一年以上。不...

    07/04/2019
    670
  • ping.cat监测各大国外VPS主机商网络质量

    如果经常租用国外VPS服务器等,可能比较关心国内到国外的网络质量。 今天介绍一个专门监测网络抖动及质量的网站,ping.cat。域名很好记,站长是耳机君,通过图形查看网络状况一目了然。大家可以参考网站图形,来购买合适的服务器 图表说明: 1,X轴表示时间,Y轴表示ping的时间值。 2,阴影部分表示有抖动,20个测试数据包里有部分时间值高,但不丢包,阴影块越大,说明ping值波动越大。 3,曲线上不同的颜色表示丢包数不同,对...

    11/03/2019
    13.0K0
  • 知更鸟Begin WordPress主题美化修改教程

    如果你恰巧也在使用知更鸟begin WordPress主题,你可以直接复制代码过去。因为这些都是他已经使用过且完整无误的 推荐阅读:知更鸟Begin主题代码实现外链转内链并base64加密 begin主题添加《英雄榜》每评论一次你就会自动排第一代码 如何在begin主题实现评论自动排第一 哪些WordPress收费主题最靠谱? 不要随意安装来路不明的破解WordPress主题 如果你使用的是正版知更鸟主题,那么直接在后台的主题选项 - 定制风格 - 自定义样式 ...

    26/10/2019
    790
  • 使用Win10系统原生“截图工具”捕获屏幕快照 简单高效

    截图是在使用工作学习中必须要用到的功能之一。很多人第一想到截图的就是QQ截图。 QQ截图的确功能很强大,需要截图的时候,第一反应就按 Ctrl + Alt + A。尴尬的是,QQ没登录,又需要马上登录QQ,这样实在是太麻烦了。 其实win10系统中,是自带有原生的截图工具,简单高效,在实际截图中截图质量还是很好的。 打开“截图工具” 对于 Windows 10选择“开始” 按钮,在任务栏的搜索框中键入“截图工具”,然后从结果列表中选择“截图工具...

    09/03/2019
    630
  • cheapsslweb 便宜通配符 SSL 证书促销,年付29美元起

    cheapsslweb 是一家专门销售便宜通配符SSL证书的国外网站,提供 Comodo,Sectigo 和 Certera 等证书颁发机构的便宜通配符SSL证书,可以用一个通配符 SSL 证书保护一个主域名以及在多个服务器上的相关子域,不限制该级子域数量。cheapsslweb 现在推出通配符SSL证书促销,五年一次性支付,年均29美元起,所有通配符 SSL 证书包括不限服务器许可证,重新颁发,网站签章等功能。我看了宝塔上的单域名通配符SSL证书优惠后年付880元起...

    01/03/2023
    570
  • 如何不需要使用插件就可以实现WordPress代码高亮功能

    很多WordPress站长都需要。在博客搭建的过程中,经常需要对代码进行备份,并且有用的代码还要收藏。 这个时候就十分需要代码高亮,能够让我们贴出的代码美观易于阅读。 实现WordPress代码高亮的方法有很多,插件比较麻烦,代码高亮的插件,要不很简单,要不就是看着非常强大但是复杂设置,或者需要注入很多代码。比较麻烦。 但是再强大无非也就是代码高亮而已,遇见那些不经常贴代码的博主来说,那什么样的办法能够既方便又小巧...

    30/03/2019
    670
  • 如何检查便宜独立服务器上的硬盘是否已经损坏或者有坏道?

    Raksmart、QN、VirMach等国外商家都在促销便宜服务器,性价比非常高,要警觉的一点就是很多便宜的独立服务器都用来chia挖矿,硬盘损耗非常大,严重影响硬盘寿命,非常容易损坏。所以购买低端便宜独服要特别注意一下。虽然硬盘坏了,可以要求商家更换硬盘,但是比较麻烦。 我们可以通过几段代码就可以快速检查硬盘状态,只适用于独立服务器,不能用在VPS和VDS上,因为VPS和VDS存储是虚拟化的,不是物理硬盘。 就像我们在PC上检查...

    技术教程 22/07/2021
    720
  • WordPress插件:WP Tabel Tag Gen 不需要手动添加表格代码

    WordPress 编辑器只提供了基本的文章编辑功能,只能满足基本需求。可以通过使用 WordPress 编辑器增强插件来增加编辑器功能。我经常要使用到表格,但是官方并不提供表格插入功能,可以通过使用  TablePress WordPress 表格插件,这个插件设置比较复杂,所以就弃用了。 WP Tabel Tag Gen是一款 使用非常简单直观的 WordPress 可视化表格插件,不需要手动添加表格代码。 本站提供的下载资源自带中文语言文件。 插件设置 1、上传启...

    03/09/2020
    25.5K0
  • 迅捷 PDF 转换器6.9版本永久授权分享注册机

    迅捷PDF转换器是一款全能的PDF文件格式转换工具。该转换器界面简洁,操作简单,文件格式转换功能非常强大,对于像 CAJ 这种文件也可以一键转换,还提供 OCR 功能方便编辑要修改的资料。 迅捷 PDF 转换器6.9版软件功能 支持 PDF 转换为 Word、Excel、PPT、HTML、TXT、图片等格式 支持将图片、Word、Excel、PPT 转换为 PDF。 支持 CAJ 转 Word 和 PDF;CAD转图片和 PDF;图片转文字(OCR);扫描件 PDF 转 Word(OCR)。 对 PDF ...

    12/09/2020
    34.8K0
返回顶部