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-domain
You 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.com
If 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.