Hola @top21tk, la comprobación que haces no es correcta ya que por ejemplo el usuario que entra con la IP 192.168.1.107 cumple la siguiente condición $ip != "192.168.1.104"
con lo que entraría en el exit()
que le deniega el acceso sin importar el resultado del resto de comparaciones ya que las estás combinando con un OR.
Siguiendo con tu método, la condición correcta sería la que incluya operadores AND, es decir, se tienen que cumplir todas las condiciones para denegar el acceso:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
if($ip != "192.168.1.104" && $ip != "192.168.1.103" && $ip != "192.168.1.107"){
exit( "No Autorizado");
} else {
echo "Bienvenido";
}
?>
En cualquier caso, yo no delegaría este control de acceso al PHP sino que aplicaría reglas en el servidor web. En el caso de Apache podrías configurar un .htaccess
con el siguiente contenido:
order deny,allow
deny from all
allow from 192.168.1.104
allow from 192.168.1.103
allow from 192.168.1.107
En ese caso será el propio servidor web el que se encargará de rechazar otras conexiones y te evitas problemas si tu aplicación PHP esté mal codificada en algún punto. Sí que recurriría al PHP en el caso de que otros usuarios sí deban poder acceder a la aplicación pero por ejemplo visualizar otro contenido.