Каков наилучший способ загрузить только 1 страницу через https в laravel?

В моем приложении laravel мне нужно, чтобы одна страница была поверх https, потому что я хочу, чтобы пользователь использовал свой микрофон.

Метод getUserMedia и в настоящее время разрешен только через https https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins

Для производительности я только хочу, чтобы эта страница, которая делает аудиозапись, была по https. Но это также означает, что мне нужно загружать все свои активы через https с «secure_asset» только на этой странице. Это означает, что у меня будет что-то вроде этого в моем главном клинке для всех моих активов:

@if(Request::is('record'))

<script type="text/javascript" src="{{secure_asset('/js/jquery.js')}}"></script>

@else

<script type="text/javascript" src="{{asset('/js/jquery.js')}}"></script>

@endif

Каков наилучший и самый чистый способ достичь этого с помощью маршрутизации Laravel?

0

Решение

использование 'https' => true] в вашем routes.php только для этого маршрута / страницы — это кажется мне очень чистым.

Пример:

Route::post('/yourroute', ['uses' => 'YourController@method', 'https' => true]);

Обновить
Вы также можете использовать .htaccess файл в вашем public папка.

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Redirect specific route to HTTPS
# The rule is looking for the content between ^ and $ and if found in the URL it redirects to https://www.example.com/yourroute
RewriteRule ^yourroute$ https://www.example.com/yourroute [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

И да, для ваших активов вы должны иметь оператор if-else, который вы уже используете. Вы можете использовать secure_asset() asset(..., true) помощник.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]