Тролль хакеров, перенаправляя их

Мой сайт становится несколько популярным, и с ростом популярности растет количество хакеров.

Вчера вечером я посетил журналы безопасности и обнаружил, что каждый день около 10 человек пытаются получить доступ

/?author=1 /?author=2 /?author=3 /?author=4 

но у меня нет ни одного из этих идентификаторов пользователей, поэтому для них создается 404. они также запускают угадывающие боты на имена пользователей:

  admin administrator wordpress 

Теперь я хочу их троллить … поэтому каждый раз, когда они пытаются получить доступ к любому из этих двух:

  1. visiting /?author=1..etc 2. trying to login with admin username 

Я хочу, чтобы их IP заблокировал мой сайт и перенаправлен на видео с YouTube.

Я знаю, что первый можно сделать с трюком .htaccess, но не может спокойно получить этот трюк. второй, на мой взгляд, сделан php, но у меня нет опыта работы с WordPress, хотя я очень хорошо разбираюсь в PHP.

Я понимаю, что это не совсем то, что вы ищете, но эти хакеры, скорее всего, боты и перенаправление их вообще не будут иметь значения. Я полагаю, вы могли бы изменить приведенный ниже код, если захотите, но это перенаправит любого, кто ищет автора на вашей домашней странице.

 RewriteCond %{REQUEST_URI} ^/$ RewriteCond %{QUERY_STRING} ^/?author=([0-9]*) [NC] RewriteRule ^(.*)$ http://%{HTTP_HOST}/? [L,R=301,NC] 

Решение ограничить доступ к архивам автора с .htaccess правила .htaccess делает довольно приличную работу. Тем не менее, не все могут редактировать или иметь доступ к .htaccess , особенно в аккаунтах с общим хостингом. Код ниже требует PHP версии 5.3+.

Вот решение, которое касается проблемы на уровне WordPress. Поместите этот код в файл function.php вашей темы:

 <?php if ( ! is_admin() ) { add_filter( 'query_vars', function ( $public_query_vars ) { foreach ( array( 'author_name', 'author' ) as $value ) { $key = array_search( $value , $public_query_vars ); if ( false !== $key ) { unset( $public_query_vars[$key] ); } } return $public_query_vars; } ); } ?>