• 如何修改wp_safe_redirect()允许的域名列表
  • 这个问题几乎不会有人回去考虑,毕竟这个函数使用的人可能都比较少,那么这个函数是干什么的?

  • wp_safe_redirect() 函数介绍
  • 函数用法
  • wp_safe_redirect( string $location, int $status = 302, string $x_redirect_by = 'WordPress' )

    Performs a safe (local) redirect, using wp_redirect().

  • 功能介绍
  • Checks whether the $location is using an allowed host, if it has an absolute path. A plugin can therefore set or remove allowed host(s) to or from the list.

    If the host is not allowed, then the redirect defaults to wp-admin on the siteurl instead. This prevents malicious redirects which redirect to another host, but only used in a few places.

    Note: wp_safe_redirect() does not exit automatically, and should almost always be followed by a call to exit;:

    wp_safe_redirect( $url );
    exit;

    Exiting can also be selectively manipulated by using wp_safe_redirect() as a conditional
    in conjunction with the ‘wp_redirect’ and ‘wp_redirect_location’ filters:

    if ( wp_safe_redirect( $url ) ) {
        exit;
    }
  • 参数介绍
  • $location

    (string)
    (Required)
    The path or URL to redirect to.

    $status

    (int)
    (Optional)
    HTTP response status code to use. Default '302' (Moved Temporarily).

    Default value: 302

    $x_redirect_by

    (string)
    (Optional)
    The application doing the redirect.

    Default value: 'WordPress'

  • 返回值
  • (bool) False if the redirect was cancelled, true otherwise.
  • 通过上面的介绍,我们基本知道了这个函数的作用是进行重定向跳转,不过除了该函数以外,wp_redirect()函数也具备重定向跳转功能,二者之间存在什么差别呢?

    下方是wp_safe_redirect()源码:
    如何修改wp_safe_redirect()允许的域名列表-WP新手学园

    通过源码我们可以看到该函数经过了wp_validate_redirect()函数处理之后最终通过wp_redirect()函数输出,那么关键就是wp_validate_redirect()函数做了什么内容:
    如何修改wp_safe_redirect()允许的域名列表-WP新手学园

    通过该函数的源码我们了解到,该函数经过一个过滤器,而这个而这个过滤器则是本文功能实现的关键:allowed_redirect_hosts

    简单的看看allowed_redirect_hosts的介绍:

  • allowed_redirect_hosts 函数介绍
  • 函数用法
  • apply_filters( 'allowed_redirect_hosts', string[] $hosts, string $host )

    Filters the list of allowed hosts to redirect to.

  • 功能介绍
  • 暂无数据
  • 参数介绍
  • $hosts

    (string[])
    An array of allowed host names.

    $host

    (string)
    The host name of the redirect destination; empty string if not set.

  • 返回值
  • 暂无数据
  • 简单的理解就是提供一个数组,在这些数组里面的域名是可以认定为安全并且可以跳转的,否则直接跳转到/wp-admin界面,这个也是wp_redirect()和wp_safe_redirect()的最大区别之一即后者提供了一个跳转安全跳转地址范围集合,前者则无视

    了解了allowed_redirect_hosts过滤器之后,我们需要做的就是将自己提供的一个安全地址数组和系统自带的数组进行合并后返回:

    以上的例子来自官方,已经是最标准的功能代码了,你只需要修改其中的blog.example.com和codex.example.com即可达到目的,之后添加到function.php即可,如果你不知道如何添加代码,可以考虑查看下面的文章:

  • Code Snippets:更容易地添加代码
  • WordPress作为一款开源博客程序,深受大家的喜爱,当然还有一个原因就是可以通过自定义代码来实现自己需要的功能和效果,但是很多新手对于怎么添加代码,哪里添加代码都是一脸懵逼,不过,在你了解了本插件之后所有问题都不再是问题。 今天介绍的插件名为:Code Snippets,一款可以自由添加代码的扩展,除了PHP代码,还可以添加CSS代码以及JS代码等等,同时,该插件也提供了生...
  • 1个月前评论(0)阅读(84)
  • 以上就是本文所有内容了,如果感兴趣的可以自行实践一下,复制粘贴并不能帮助到你什么,了解原理,哪怕只能收获1%都是赚到。

  • 订阅站点了解最新技巧
  • 任何有用的技巧我们均将通过邮件告知你
  • 点击订阅
    高级设置
  • 0
    大惊
    0
    大笑
    0
    发呆
    0
    恶魔
    0
    流泪
    0
    调皮
    0
    笑出泪
    0
    犯困
    0
    坏笑
    0
    疑问
  • 版权声明:整理不易,如无特殊说明,文章内容均为本站原创,转载请注明出处
  • 本文标题:如何修改wp_safe_redirect()允许的域名列表
  • 本文链接:https://www.wpxsxy.com/375.html [点击复制]
  • W********
  • 2830776172
  • qweqw
  • qwe
  • 啥都没有,没啥好看的
    主页
    关注
    聊天
    Unicons Icon:超过4500个免费图标站点
  • 上一篇:
  • Unicons Icon:超过4500个免费图标站点
  • Supershots:创建渐变色背景的图片
  • 下一篇:
  • Supershots:创建渐变色背景的图片
  • 相关推荐
    文章评论
    提交评论
    分类推荐