如何禁用全站的 API 或 http 、 wp-json,或單獨授權指定域名??

標籤: ,

正在查看 10 個帖子:1-10 (共 11 個帖子)
  • 作者
    帖子
  • eoeore
    參與者
    • 文章數量: 114
    @eoeore
    樓主

    請問如何禁用全站的 API 、 http 、 wp-json 等,或單獨授權指定域名??

    避免讓別人盜用自己的 wordpress api 或調用自己網站內容,這樣就不太安全了。

    詩語
    管理員
    • 文章數量: 5,932
    @feibisi

    你可以從服務器端進行防盜鏈,然後 WordPress 網站內部禁用相關參數,常規的 WordPress API 就用下面的插件禁用。

    Disable WP REST API

    或者屏蔽到全部的 http 請求,將下面的代碼添加到 wp-config.php 文件的 好了,不要再編輯了,開始你的博客吧,上面。

    define( 'WP_HTTP_BLOCK_EXTERNAL', TRUE );

    eoeore
    參與者
    • 文章數量: 114
    @eoeore
    樓主

    我自己再查找下能否不用插件,使用代碼方式能否禁用 api,http,wp-json 。

    那如何檢驗禁用 api 已經生效了?

    是通過查看以下網址能否打開??

    https://你的網站/wp-json/wp/v2/posts

    詩語
    管理員
    • 文章數量: 5,932
    @feibisi

    那你就用代碼,加到子主題的 functions.php 功能文件裏面:

    add_filter('rest_enabled', '__return_false');
    add_filter('rest_jsonp_enabled', '__return_false');
    
    remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );
    remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
    remove_action( 'template_redirect', 'rest_output_link_header', 11 );

    之後訪問 https://你的網站/wp-json/ 查看會提示已經禁用。

    eoeore
    參與者
    • 文章數量: 114
    @eoeore
    樓主

    剛剛將上述代碼,添加到 functions.php 文件中,但是 https://你的網站/wp-json/ 依舊可以打開。

    詩語
    管理員
    • 文章數量: 5,932
    @feibisi

    會提示已經禁用,沒説不能訪問這個路徑。

    eoeore
    參與者
    • 文章數量: 114
    @eoeore
    樓主

    我使用谷歌瀏覽器,添加代碼之後,打開 https://你的網站/wp-json/,瀏覽器沒有提示已經禁用,頁面上也沒顯示已經禁用。

    詩語
    管理員
    • 文章數量: 5,932
    @feibisi

    描述問題要貼上截圖。

    eoeore
    參與者
    • 文章數量: 114
    @eoeore
    樓主

    詩語
    管理員
    • 文章數量: 5,932
    @feibisi

    那你就用插件,可以只讓認證用户訪問

    Disable REST API

    生效的禁用代碼就是下面,兩個版本

    
        // Filters for WP-API version 1.x
        add_filter( 'json_enabled', '__return_false' );
        add_filter( 'json_jsonp_enabled', '__return_false' );
    
        // Filters for WP-API version 2.x
        add_filter( 'rest_enabled', '__return_false' );
        add_filter( 'rest_jsonp_enabled', '__return_false' );
    
    // Remove REST API info from head and headers
    remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );
    remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
    remove_action( 'template_redirect', 'rest_output_link_header', 11 );
正在查看 10 個帖子:1-10 (共 11 個帖子)
  • 哎呀,回覆話題必需登錄。

話題信息

  • 當前位於:疑難雜症
  • 10 條回覆
  • 2 個參與人
  • 最後回覆:<a href="https://bbs.weixiaoduo.com/users/eoeore/" title=" 查看 eoeore 的個人資料" class="bbp-author-link"><span class="bbp-author-name">eoeore</span></a>
  • 上次活動:<a href="https://bbs.weixiaoduo.com/topic/32344/page/2/#post-32371" title=" 回覆至:如何禁用全站的 API 或 http 、 wp-json,或單獨授權指定域名??">5 年、 10 月前</a>