Abspath Prevenção de problema direto de access a arquivos

Estou usando este código para parar o access direto a um arquivo de plugin

function getIp() { $ip = $_SERVER['REMOTE_ADDR']; if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } return $ip; } $ip = getIp(); $message = "YOU CAN NOT ACCESS THIS PAGE DIRECTLY YOUR IP " .$ip."  HAS BEEN FLAGGED AND YOU WILL NOW BE BANNED FROM SITE"; defined('ABSPATH') or die($message); 

Funciona muito bem se eu tentar acessar diretamente. pára e mostra mensagem

mas eu tenho chamadas POST do ajax sendo postadas nesse arquivo e estou recebendo o mesmo erro que se eu estivesse tentando acessá-lo diretamente.

Existe outra maneira de proteger se o access direto a ele ainda permite que o site / mesmo plugin envie uma chamada ajax?

Solutions Collecting From Web of "Abspath Prevenção de problema direto de access a arquivos"