Only from an IP Address can access wp-admin or login.php. Add the following code above of all of anything else in your .htaccess and change your IP Address.
Choose one of this #Normal server use OR #With Cloudflare use either one of this going to fit you. It’s depend on your sever configuration.
If your web server DNS is with Cloudflare choose #With Cloudflare use and ignore the other.
And the same thing if you choose #Normal server use, ignore Cloudflare use
That’s it all I did.
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR] RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ #Normal server use RewriteCond %{REMOTE_ADDR} !^12\.345\.67\.890$ #<---- Your IP Address #With Cloudflare use RewriteCond %{HTTP:CF-Connecting-IP} !^1.23.456.789$ #<---- Your IP Address RewriteRule ^(.*)$ - [R=403,L] </IfModule>
UPDATE: February 11, 2020