Я строю приложение Laravel 11 и использую индивидуальное промежуточное программное обеспечение для проекта. Я имею создание contentsecuritypolicy.php в папке app/http/промежуточное программное обеспечение, и он содержит этот код:
`
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
class ContentSecurityPolicy
{
public function handle(Request $request, Closure $next)
{
// Generate a secure nonce
$nonce = base64_encode(random_bytes(16));
$isLocal = $request->getHost() === '[::1]';
$csp = "base-uri 'self'; "
. "script-src 'self' 'nonce-{$nonce}'". ($isLocal ? "http://[::1]:5173/ " : "") ." https://fonts.bunny.net/ https://reetahoo.com/ https://pagead2.googlesyndication.com/ "
. "https://goatauthut.xyz/ https://itweepinbelltor.com/ https://dicouksa.com/ https://goomaphy.com/ "
. "https://veepteero.com/ https://pertawee.net/ https://shoordaird.com/ https://soathoth.com/ "
. "https://thubanoa.com/ https://alwingulla.com/ https://tzegilo.com/ https://whaickossu.net/ "
. "https://www.google.com/recaptcha/ https://widget.trustpilot.com/ https://cdn.datatables.net/ "
. "https://coding-nonny.github.io/ https://api.countrystatecity.in/ https://ip-api.com/ "
. "https://api.coinpaprika.com/ https://cdn.jsdelivr.net/ https://js.paystack.co/ "
. "https://www.smartsuppchat.com/ https://widget-v3.smartsuppcdn.com/ http://translate.google.com/ "
. "https://www.gstatic.com/ https://translate-pa.googleapis.com/ https://ipwhois.app/ "
. "https://boupeeli.com/; "
. "style-src 'self' 'unsafe-inline' ". ($isLocal ? "http://[::1]:5173/ " : "") ." https://fonts.bunny.net/ https://cdnjs.cloudflare.com/ https://boupeeli.com/ https://goatauthut.xyz/ "
. "https://fonts.googleapis.com/ https://coding-nonny.github.io/ https://cdn.datatables.net/ "
. "https://cdn.jsdelivr.net/ https://www.smartsuppchat.com/ https://widget-v3.smartsuppcdn.com/ "
. "http://translate.google.com/ https://rertessesse.xyz/ https://www.gstatic.com/ "
. "https://translate-pa.googleapis.com/; "
. "object-src 'none'; frame-ancestors 'none';";
// Process request
$response = $next($request);
// Set CSP header properly
$response->headers->set('Content-Security-Policy', $csp);
// Share nonce with views (for inline scripts)
view()->share('nonce', $nonce);
return $response;
}
}
< /code>
`< /p>
и я зарегистрировал промежуточное программное обеспечение в Bootstrap /app.php (альтернатива для kernel.php в Laravel 11) > `< /p>
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
use App\Http\Middleware\ContentSecurityPolicy;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__ . '/../routes/web.php',
commands: __DIR__ . '/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
$middleware->prepend(ContentSecurityPolicy::class);
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
< /code>
`< /p>
Но если использовать $ nonce в встроенных сценариях: < /p>
< /code>
< /div>
< /div>
< /p>
Я получаю эту ошибку: «Неопределенная переменная $ nonce».
Как это решить?
Подробнее здесь: https://stackoverflow.com/questions/793 ... -templates
Как я могу получить доступ к пользовательскому $ nonce для CSP в шаблонах всех видов? ⇐ Php
Кемеровские программисты php общаются здесь
1738218572
Anonymous
Я строю приложение Laravel 11 и использую индивидуальное промежуточное программное обеспечение для проекта. Я имею создание contentsecuritypolicy.php в папке app/http/промежуточное программное обеспечение, и он содержит этот код:
`
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
class ContentSecurityPolicy
{
public function handle(Request $request, Closure $next)
{
// Generate a secure nonce
$nonce = base64_encode(random_bytes(16));
$isLocal = $request->getHost() === '[::1]';
$csp = "base-uri 'self'; "
. "script-src 'self' 'nonce-{$nonce}'". ($isLocal ? "http://[::1]:5173/ " : "") ." https://fonts.bunny.net/ https://reetahoo.com/ https://pagead2.googlesyndication.com/ "
. "https://goatauthut.xyz/ https://itweepinbelltor.com/ https://dicouksa.com/ https://goomaphy.com/ "
. "https://veepteero.com/ https://pertawee.net/ https://shoordaird.com/ https://soathoth.com/ "
. "https://thubanoa.com/ https://alwingulla.com/ https://tzegilo.com/ https://whaickossu.net/ "
. "https://www.google.com/recaptcha/ https://widget.trustpilot.com/ https://cdn.datatables.net/ "
. "https://coding-nonny.github.io/ https://api.countrystatecity.in/ https://ip-api.com/ "
. "https://api.coinpaprika.com/ https://cdn.jsdelivr.net/ https://js.paystack.co/ "
. "https://www.smartsuppchat.com/ https://widget-v3.smartsuppcdn.com/ http://translate.google.com/ "
. "https://www.gstatic.com/ https://translate-pa.googleapis.com/ https://ipwhois.app/ "
. "https://boupeeli.com/; "
. "style-src 'self' 'unsafe-inline' ". ($isLocal ? "http://[::1]:5173/ " : "") ." https://fonts.bunny.net/ https://cdnjs.cloudflare.com/ https://boupeeli.com/ https://goatauthut.xyz/ "
. "https://fonts.googleapis.com/ https://coding-nonny.github.io/ https://cdn.datatables.net/ "
. "https://cdn.jsdelivr.net/ https://www.smartsuppchat.com/ https://widget-v3.smartsuppcdn.com/ "
. "http://translate.google.com/ https://rertessesse.xyz/ https://www.gstatic.com/ "
. "https://translate-pa.googleapis.com/; "
. "object-src 'none'; frame-ancestors 'none';";
// Process request
$response = $next($request);
// Set CSP header properly
$response->headers->set('Content-Security-Policy', $csp);
// Share nonce with views (for inline scripts)
view()->share('nonce', $nonce);
return $response;
}
}
< /code>
`< /p>
и я зарегистрировал промежуточное программное обеспечение в Bootstrap /app.php (альтернатива для kernel.php в Laravel 11) > `< /p>
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
use App\Http\Middleware\ContentSecurityPolicy;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__ . '/../routes/web.php',
commands: __DIR__ . '/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
$middleware->prepend(ContentSecurityPolicy::class);
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
< /code>
`< /p>
Но если использовать $ nonce в встроенных сценариях: < /p>
< /code>
< /div>
< /div>
< /p>
Я получаю эту ошибку: «Неопределенная переменная $ nonce».
Как это решить?
Подробнее здесь: [url]https://stackoverflow.com/questions/79396000/how-can-i-access-custom-nonce-for-csp-in-all-view-templates[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия