正在查看 3 个帖子:1-3 (共 3 个帖子)
-
作者帖子
-
有一款插件可以实现标题中所说的效果,叫 「Search Limiter & Blocker」,但这款插件的效果太 「广泛」 了:一旦达到次数限制,插件会限制用户访问任何页面,而不是 「只限制访问搜索页面」 。
我在其他地方搜索过类似 「wordpress limit search rate」 等关键字,没有找到结果。
换言之,需求是:当用户在一定时间 (如 60 秒) 内 执行了超过一定次数的搜索 (如 2 次),就阻止用户继续搜索 (比如用
die
结束请求) 。已解决。
使用 「Search Limiter & Blocker」 插件,编辑
search-limiter-blocker.php
的第 169 行 (附近有 「Check for block」 字样),将'blocked' === $is_block
改成'blocked' === $is_block && $query->is_search
即可。解决了的话,那我补充个直接完全禁用 WordPress 搜索功能的
/* //禁用 WordPress 全局搜索功能 //https://bbs.weixiaoduo.com/topic/37960 */ function fb_filter_query( $query, $error = true ) { if ( is_search() ) { $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; // to error if ( $error == true ) $query->is_404 = true; } } add_action( 'parse_query', 'fb_filter_query' ); add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
-
作者帖子
正在查看 3 个帖子:1-3 (共 3 个帖子)
- 哎呀,回复话题必需登录。