Strict Domain Checking for Laravel is a lightweight package designed to seamlessly integrate with Laravel applications, providing a simple solution for domain-based redirection. With this package, you can ensure that incoming traffic to your Laravel application is redirected to a specified domain if the requesting domain doesn't match the configured domain. By implementing a customizable middleware, developers can easily enforce domain consistency, enhancing security and user experience. Whether managing multiple domains or enforcing branding standards, this package offers a flexible and efficient solution for domain redirection within Laravel applications.
You can install the package via composer:
composer require byteflick/laravel-strict-domainYou can publish the config file with (Optional):
php artisan vendor:publish --provider="ByteFlick\LaravelStrictDomain\LaravelStrictDomainServiceProvider"This is the contents of the published config file:
return [
'include_sub_domains' => true,
'domain' => env('APP_DOMAIN', 'localhost.com'),
];You need to add an environment variable called APP_DOMAIN to your .env file. The value of this variable is used
for validating the incoming traffic.
APP_DOMAIN=localhost.comIf you want to redirect incoming traffic to your application from other domain/hosts to your own then you can
use RedirectExternalTraffic middleware. This is useful when you want to redirect all the traffic from johndoe.com (
referrer domain) and other domains/hosts to janedoe.com (your designated domain).
You can add the middleware to individual routes or apply it via a route group.
Append the middleware to your default middlewares into your bootstrap/app.php via the code below to redirect all
external traffic outside your designated host to your designated host.
->withMiddleware(function (Middleware $middleware) {
$middleware->append(\ByteFlick\LaravelStrictDomain\Middlewares\RedirectExternalTraffic::class);
})Add the middleware to your default middlewares into your App\Http\Kernel.php via the code below to redirect all
external traffic outside your designated host to your designated host.
protected $middleware = [
\ByteFlick\LaravelStrictDomain\Middlewares\RedirectExternalTraffic::class,
];If you want to block incoming traffic to your application from other domain/hosts to your own then you can
use BlockExternalTraffic middleware. This is useful when you want to allow traffic from janedoe.com but
block johndoe.com and others to your application.
You can add the middleware to individual routes or apply it via a route group.
Append the middleware to your default middlewares into your bootstrap/app.php via the code below to block all
external traffic outside your designated host.
->withMiddleware(function (Middleware $middleware) {
$middleware->append(\ByteFlick\LaravelStrictDomain\Middlewares\BlockExternalTraffic::class);
})Add the middleware to your default middlewares into your App\Http\Kernel.php via the code below to block all
external traffic outside your designated host.
protected $middleware = [
\ByteFlick\LaravelStrictDomain\Middlewares\BlockExternalTraffic::class,
];Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.
