修改WordPress 搜索结果页面url 形式,安全有保障

时间:2022-04-23
本文章向大家介绍修改WordPress 搜索结果页面url 形式,安全有保障,主要内容包括默认的WordPress 搜索结果页面url 形式、修改方法、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

偶然发现开源中国(OSC)的搜索功能不能在非用户登录情况下使用,据说是被攻击了,无奈之下只得关闭游客搜索功能;据说WordPress 也可以通过向搜索地址传递某些参数达到SQL 注入的目的。结合这两点,我就想着能不能通过《修改WordPress登陆文件名wp-login.php,防密码被暴力破解》一文中替换的思路,运用在WordPress 搜索结果页面url 形式上,结果还被我找到了相关代码。

默认的WordPress 搜索结果页面url 形式

使用过WordPress搜索功能的童鞋都知道,WordPress 的搜索结果页面的url 形式默认如:域名/?s=关键词,例如

http://devework.com/?s=WordPress搜索

这个url 形式在所有的WordPress 站点都是通用的,因此如果一个WordPress 站点没有提搜索框或者只提供谷歌自定义搜索(你懂得,自定义搜索常常会挂掉),那么可以直接手动添加上述参数来调用WordPress 自带的搜索功能。

为了安全,可以自定义(修改)WordPress 搜索结果页面url 形式,比如说:

http://devework.com/s/WordPress搜索

修改方法

只需要将下面代码添加到当前主题的 functions.php 文件即可:

//修改WordPress 搜索结果页面url 形式 devework.com function redirect_search() { if (is_search() && !empty($_GET['s'])) { wp_redirect(home_url("/s/").urlencode(get_query_var('s'))); exit(); } } add_action('template_redirect', 'redirect_search' );

上诉代码来源未知,应该是从老外那里来的,注意的是这段代码要成功生效需要你的主机支持伪静态(rewrite)。