, (*1)
Laravel HTTPS Web and API Checker
Laravel Https is middleware to check for Secure HTTP requests. Laravel Https has can check for HTTPS and throw an error or automatically redirect to HTTPS., (*2)
, (*3)
Features
| laravel-https Features |
forceHTTPS middlware to check if URL is HTTPS and redirect to HTTPS if not. |
checkHTTPS middlware to check if URL is HTTPS and throw an error if not. |
| Each middleware can be used in individual controllers constructor |
| Each middleware can be used as a middleware on individual routes |
| Each middleware can be used as a middleware route group |
| Returns HTML for HTTP requests |
| Returns JSON for API requests |
| Uses localized language files |
Requirements
- Laravel 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 6, 7, 8, 9, 10+
Installation Instructions
-
From your projects root folder in terminal run:, (*4)
composer require jeremykenedy/laravel-https
-
Register the package, (*5)
-
Laravel 5.5 and up
Uses package auto discovery feature, no need to edit the config/app.php file., (*6)
-
Laravel 5.4 and below
Register the package with laravel in config/app.php under providers with the following:, (*7)
'providers' => [
...
jeremykenedy\LaravelHttps\LaravelHttpsServiceProvider::class,
];
-
Optionally publish the packages views, config file, and language files by running the following from your projects root folder:, (*8)
php artisan vendor:publish --tag=LaravelHttps
-
Add the middleware to your routes or controller. See Usage., (*9)
Configuration
laravel-https can be configured in directly in /config/laravel-https.php if you published the assets.
Or you can variables to your .env file., (*10)
Environment File
Here are the .env file variables available:, (*11)
LARAVEL_HTTP_ERROR_CODE=403
Usage
From Route File:
- You can include the
checkHTTPS or forceHTTPS in a route groups or on individual routes.
Route Group Example:
Route::group(['middleware' => ['web', 'checkHTTPS']], function () {
Route::get('/', 'WelcomeController@welcome');
});
Individual Route Examples:
Route::get('/', 'WelcomeController@welcome')->middleware('checkHTTPS');
Route::match(['post'], '/test', 'Testing\TestingController@runTest')->middleware('forceHTTPS');
From Controller File:
- You can include the
checkHTTPS or forceHTTPS in the contructor of your controller file.
Controller File Example:
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('forceHTTPS');
}
Screenshots
, (*12)
File Tree
βββ .gitignore
βββ LICENSE
βββ README.md
βββ composer.json
βββ src
βββ LaravelHttpsServiceProvider.php
βββ app
βΒ Β βββ Http
βΒ Β βββ Middleware
βΒ Β βββ CheckHTTPS.php
βΒ Β βββ ForceHTTPS.php
βββ config
βΒ Β βββ laravel-https.php
βββ resources
βββ lang
βΒ Β βββ en
βΒ Β βββ laravel-https.php
βββ views
βββ errors
βββ 403.blade.php
- Tree command can be installed using brew:
brew install tree
- File tree generated using command
tree -a -I '.git|node_modules|vendor|storage|tests'
Opening an Issue
Before opening an issue there are a couple of considerations:
* You are all awesome!
* Read the instructions and make sure all steps were followed correctly.
* Check that the issue is not specific to your development environment setup.
* Provide duplication steps.
* Attempt to look into the issue, and if you have a solution, make a pull request.
* Show that you have made an attempt to look into the issue.
* Check to see if the issue you are reporting is a duplicate of a previous reported issue.
* Following these instructions show me that you have tried.
* If you have a questions send me an email to jeremykenedy@gmail.com
* Need some help, I can do my best on Slack: https://opensourcehelpgroup.slack.com
* Please be considerate that this is an open source project that I provide to the community for FREE when openeing an issue., (*13)
Open source projects are a the communityβs responsibility to use, contribute, and debug., (*14)
License
Laravel-https is licensed under the MIT license. Enjoy!, (*15)