返回一个404错误的WordPress搜索页面,除非有人已经访问了该网站第一次

raogr8fs  于 2023-01-25  发布在  WordPress
关注(0)|答案(1)|浏览(112)

各位,这个问题有点奇怪。
希望能够把一些代码放在一起,这样,如果有人直接在我们的网站网址类型,与默认的WordPress搜索查询在年底www.ourdomain.com/?s=your搜索词,这将返回一个404错误,因为我们没有任何人在我们的网站网址类型,与狡猾的搜索网址附加是一个垃圾邮件机器人。
然而,如果有人先登陆我们的网站,然后输入搜索查询,404页面将不会返回,因为我们知道他们很可能是真正的客户,而不是机器人。
试图阻止一个大的搜索垃圾邮件攻击,我们面临的。
已经尝试了各种插件等,没有运气到目前为止,突然想到这是一个可能的答案?
开始代码:

add_action( 'template_redirect', function () {
    
  if (is_search() ) {

尝试了一些WordPress插件,但没有运气与他们在所有。

h79rfbju

h79rfbju1#

add_action( 'template_redirect', 'my_search_404' );
function my_search_404() {
    if ( is_search() && !isset($_SERVER['HTTP_REFERER'])) {
        wp_die( '404: Page not found', '404: Page not found', array( 'response' => 404 ) );
    }
}

但是你需要考虑一个好的安全插件,这对于大规模的垃圾邮件攻击是不够的。

相关问题