انتقال به HTTPS در لاراول
HTTPS به معنی ارتباط امن بین مرورگر و وبسایت میباشد و در آن تمام اطلاعات بین مرورگر و وبسایت رمزنگاری میشود. اگر میخواهید که در لاراول تمام درخواست های HTTP به HTTPS یا SSL منتقل شود شما میتوانید از روش زیر استفاده کنید.
در اول کار شما باید یک Middleware تعریف کنید. در این Middleware با استفاده از قطعه کد زیر میتوانید تمام درخواست ها را به HTTPS منتقل نمایید.
namespace MyApp\Http\Middleware; use Closure; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle($request, Closure $next) { if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
برای این که کاری کنید که برای هر درخواست این Middleware اجرا شود شما باید آنرا در فایل kernel.php اضافه کنید.
protected $middleware = [ 'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode', 'Illuminate\Cookie\Middleware\EncryptCookies', 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', 'Illuminate\Session\Middleware\StartSession', 'Illuminate\View\Middleware\ShareErrorsFromSession', // appending custom middleware 'MyApp\Http\Middleware\HttpsProtocol' ];