There is some small REST API doing great IP verification returning a score for the IP you send, example :
$ip = $_SERVER['REMOTE_ADDR'] ; // your user IP
$checkIp = file_get_contents('http://check.getipintel.net/check.php?ip='.$ip.'&[email protected]') ;
// don't forget to put a real e-mail
if ($checkIp <=0.95) {
// this user is not a bot !
// do something here
}
Then you can save the result in a session or a cookie so you don’t have to call API on every page. I use to work with http://getipintel.net/ but based on the same idea you can use google invisible captcha.