![图片[1]-使用钩子技术保护子比主题搜索页面免受恶意攻击-大鹏资源网-提供丰富的插件软件资源和详细教程,专注技术分享与学习!](https://www.01zt.com/wp-content/uploads/2024/08/222c3652afa82613fbc5cf5af0d4f494.webp)
首先,添加一个用于检测搜索关键字的后台设置钩子:
将其放入 functions.php
或 func.php
文件中。
// 自定义屏蔽搜索关键字
function dp_php_search_ban_key() {
add_settings_field('php_search_key', '搜索关键词屏蔽', 'dp_php_search_key_callback_function', 'reading');
register_setting('reading','php_search_key');
}
function dp_php_search_key_callback_function() {
echo '<textarea name="php_search_key" rows="10" cols="50" id="php_search_key" class="large-text code">' .
get_option('php_search_key') . '</textarea>';
}
function dp_php_search_ban() {
if (is_search()) {
global $wp_query;
$php_search_key = get_option('php_search_key');
if($php_search_key) {
$php_search_key = str_replace("\r\n", "|", $php_search_key);
$BanKey = explode('|', $php_search_key);
$S_Key = $wp_query->query_vars;
foreach($BanKey as $Key) {
if( stristr($S_Key['s'],$Key) != false ) {
get_header();
echo $img . '<div class="text-center mt30 f404-msg">请不要搜索非法关键字!</div>';
get_template_part('template/content-404');
get_footer();
exit;
}
}
}
}
}
add_action('admin_init', 'dp_php_search_ban_key');
add_action('template_redirect', 'dp_php_search_ban');
![图片[2]-使用钩子技术保护子比主题搜索页面免受恶意攻击-大鹏资源网-提供丰富的插件软件资源和详细教程,专注技术分享与学习!](https://www.01zt.com/wp-content/uploads/2024/08/4a943b86943464a0cdf295762e7290f4.webp)
然后,将搜索页面的子比 wp_head
钩子替换为自己的钩子。
// 自定义屏蔽搜索关键字
function dp_php_search_ban_key() {
add_settings_field('php_search_key', '搜索关键词屏蔽', 'dp_php_search_key_callback_function', 'reading');
register_setting('reading','php_search_key');
}
function dp_php_search_key_callback_function() {
echo '<textarea name="php_search_key" rows="10" cols="50" id="php_search_key" class="large-text code">' .
get_option('php_search_key') . '</textarea>';
}
function dp_php_search_ban() {
if (is_search()) {
global $wp_query;
$php_search_key = get_option('php_search_key');
if($php_search_key) {
$php_search_key = str_replace("\r\n", "|", $php_search_key);
$BanKey = explode('|', $php_search_key);
$S_Key = $wp_query->query_vars;
foreach($BanKey as $Key) {
if( stristr($S_Key['s'],$Key) != false ) {
remove_action('wp_head', 'zib_seo', 1);
add_action('wp_head', 'dp_seo', 1);
function dp_seo()
{
echo '<title>非法关键字检测</title>' . "\n";
echo "<meta name=\"keywords\" content=\"非法关键字检测\">\n";
echo "<meta name=\"description\" content=\"非法关键字检测\">\n";
}
get_header();
echo $img . '<div class="text-center mt30 f404-msg">请不要搜索非法关键字!</div>';
get_template_part('template/content-404');
get_footer();
exit;
}
}
}
}
}
add_action('admin_init', 'dp_php_search_ban_key');
add_action('template_redirect', 'dp_php_search_ban');
本教程到此为止,创作不易,请转载时注明来源于大鹏博客!谢谢!
© 版权声明
1如果您喜欢本站,Ctrl+D收藏一下不迷路,感谢支持!
2本文地址 https://www.01zt.com/skill/wordpress/1912.html. 如若转载,请注明文章出处:大鹏博客资源网。
3本站内容观点不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
4若作商业用途,请联系原作者授权,若本站侵犯了您的权益请在右侧悬浮联系站长进行删除处理。
5本站所有内容均来源于网络,仅供学习与参考,请勿商业运营,严禁从事违法、侵权等任何非法活动,否则后果自负.
2本文地址 https://www.01zt.com/skill/wordpress/1912.html. 如若转载,请注明文章出处:大鹏博客资源网。
3本站内容观点不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
4若作商业用途,请联系原作者授权,若本站侵犯了您的权益请在右侧悬浮联系站长进行删除处理。
5本站所有内容均来源于网络,仅供学习与参考,请勿商业运营,严禁从事违法、侵权等任何非法活动,否则后果自负.
THE END
暂无评论内容