抢注百度搜索高排名流量域名、品牌商标保护、微信绿标安全域名、备案精品短域名,快上折米!

WordPress屏蔽搜索非法关键词,搜索关键词白名单功能

[复制链接]
小猪哼囔 发表于 2021-7-8 22:09:38 | 显示全部楼层 |阅读模式
现在的很多灰产利用搜索页面,非法关键词搜索,然后提交sitemap。

利用合法网站发布违法广告,以bc、色情、药物为主。

WordPress构建的网站,除了屏蔽搜索结果页面,也可以按以下方法屏蔽敏感字搜索。

但是我想要的是“白名单”方案,也就是说,只允许搜索“名单”内的关键字,如我的诉求是只允许搜索省市地名
或者只允许搜索不超过10个字符。
曾经找了好几个晚上,都没有找到好的办法。


添加禁止搜索关键词,可以屏蔽大多非法搜索,但是效率好像并不高,如果能够限定搜索词不能超过10个字符,也能屏蔽大多非法广告。欢迎大家提供高频高危关键词。


在WordPress当前主题的functions.php,添加以下代码,然后就可以在WordPress后台的“设置”-“阅读”(wp-admin/options-reading.php)的“搜索关键词屏蔽”,输入屏蔽的关键字,一个一行。

  1. //屏蔽恶意关键词搜索
  2. add_action('admin_init', 'php_search_ban_key');
  3. function php_search_ban_key() {
  4. add_settings_field('php_search_key', '搜索关键词屏蔽', 'php_search_key_callback_function', 'reading');
  5. register_setting('reading','php_search_key');
  6. }

  7. function php_search_key_callback_function() {
  8. echo '<textarea name="php_search_key" rows="10" cols="50" id="php_search_key" class="large-text code">' .

  9. get_option('php_search_key') . '</textarea>';
  10. }
  11. add_action('template_redirect', 'php_search_ban');
  12. function php_search_ban(){
  13. if (is_search()) {
  14. global $wp_query;
  15. $php_search_key = get_option('php_search_key');
  16. if($php_search_key){
  17. $php_search_key = str_replace("\r\n", "|", $php_search_key);
  18. $BanKey = explode('|', $php_search_key);
  19. $S_Key = $wp_query->query_vars;
  20. foreach($BanKey as $Key){
  21. if( stristr($S_Key['s'],$Key) != false ){
  22. wp_die('请不要搜索非法关键字');
  23. }
  24. }
  25. }
  26. }
  27. }
复制代码



  1. Q
  2. V
  3. 1
  4. 2
  5. 3
  6. 4
  7. 5
  8. 6
  9. 7
  10. 8
  11. 9
  12. 0








  13. c


  14. <
  15. (
  16. )











复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则 返回列表 发新帖

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

快速回复 返回顶部 返回列表