Usage
This function runs automatically, so it is not called manually. Is this incorrect?
Source File
Located in /libs/Security.php on line 239.
5 Hooks
Find these filters and actions in the source code below to hook into them. Use do_action() and add_filter() in your functions file or plugin.
Filters
This function has no filter hooks available. Request one?
Actions
"nebula_spambot_prevention""nebula_spambot_prevention"
"nebula_spambot_prevention"
"nebula_spambot_prevention"
"qm/info"
Need a new action hook? Request one here.
PHP
public function spam_domain_prevention(){ $this->timer('Spam Domain Prevention'); //Skip lookups if user has already been checked or for logged in users. if ( (isset($this->super->cookie['spam_domain']) && $this->super->cookie['spam_domain'] === false) || is_user_logged_in() ){ return false; } if ( $this->get_option('spam_domain_prevention') ){ $spam_domain_array = $this->get_spam_domain_list(); $ip_address = $this->get_ip_address(); if ( count($spam_domain_array) > 1 ){ if ( isset($this->super->server['HTTP_REFERER']) && $this->contains(strtolower($this->super->server['HTTP_REFERER']), $spam_domain_array) ){ $this->ga_send_exception('(Security) Spam domain prevented. Referrer: ' . $this->super->server['HTTP_REFERER'], true, array('security_note' => 'Spam Referrer')); do_action('nebula_spambot_prevention'); header('HTTP/1.1 403 Forbidden'); wp_die(); } if ( isset($this->super->server['REMOTE_HOST']) && $this->contains(strtolower($this->super->server['REMOTE_HOST']), $spam_domain_array) ){ $this->ga_send_exception('(Security) Spam domain prevented. Hostname: ' . $this->super->server['REMOTE_HOST'], true, array('security_note' => 'Spam Hostname')); do_action('nebula_spambot_prevention'); header('HTTP/1.1 403 Forbidden'); wp_die(); } if ( isset($this->super->server['SERVER_NAME']) && $this->contains(strtolower($this->super->server['SERVER_NAME']), $spam_domain_array) ){ $this->ga_send_exception('(Security) Spam domain prevented. Server Name: ' . $this->super->server['SERVER_NAME'], true, array('security_note' => 'Spam Server Name')); do_action('nebula_spambot_prevention'); header('HTTP/1.1 403 Forbidden'); wp_die(); } if ( isset($ip_address) && $this->contains(strtolower(gethostbyaddr($ip_address)), $spam_domain_array) ){ $this->ga_send_exception('(Security) Spam domain prevented. Network Hostname: ' . $ip_address, true, array('security_note' => 'Spam Network Hostname')); do_action('nebula_spambot_prevention'); header('HTTP/1.1 403 Forbidden'); wp_die(); } } else { $this->ga_send_exception('(Security) spammers.txt has no entries!', false); } $this->set_cookie('spam_domain', false); } do_action('qm/info', 'Spam Domain Check Performed'); $this->timer('Spam Domain Prevention', 'end'); }
Override
This function can not be short-circuited with an override filter. Request one?