大鹏看到子比论坛的李初一发布了一篇关于“子比主题防止搜索页被恶意留痕解决方案”的帖子。本文将介绍一种不修改文件的钩子终极版防护措施。
首先,添加一个用于检测搜索关键字的后台设置钩子:
将其放入 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 ''; } 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("rn", "|", $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 . '
请不要搜索非法关键字!
'; 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');
然后,将搜索页面的子比 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 ''; } 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("rn", "|", $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 '' . "n"; echo "n"; echo "n"; } get_header(); echo $img . '
请不要搜索非法关键字!
'; 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');
本教程到此为止,创作不易
转载来源于大鹏博客
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容