Using Symfony and xip.io in dev environment

The default app_dev.php in symfony only allow connexion from localhost. Code is as follow:

if (isset($_SERVER['HTTP_CLIENT_IP'])
 || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
 || !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1'))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

If you want to use xip.io to test your local instance with devices for example, access is forbidden by default.

You can add a condition to if statement to allow connexion from your local subnet. Let’s say your subnet is 192.168.90.* and your vhost like www.192.168.90.42.xip.io, the following code will do the trick (from web/app_dev.php) :

if (isset($_SERVER['HTTP_CLIENT_IP'])
 || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
 || (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1'))
     && !preg_match('/192\.168\.90\./', @$_SERVER['REMOTE_ADDR']))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

Happy coding!