UI设计 薇晓朵数字商城

 找回密碼
 加入我們

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. )











複製代碼

回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 加入我們

本版積分規則

备案权重域名预定

QQ|4um創業社區

GMT+8, 2024-5-20 17:15

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表