diff --git a/resources/views/admin/platform_leads/index.blade.php b/resources/views/admin/platform_leads/index.blade.php index 9f7fe5d..f6facd2 100644 --- a/resources/views/admin/platform_leads/index.blade.php +++ b/resources/views/admin/platform_leads/index.blade.php @@ -5,16 +5,17 @@ @section('content') @php + // back 安全护栏(全页通用): + // - 仅允许站内相对路径(/ 开头) + // - 拒绝引号/尖括号(由于本页大量 href 采用 `{!! !!}` 原样输出,必须严控注入风险) + // - 拒绝 nested back=(避免 URL 膨胀/绕过) $incomingBack = (string) request()->query('back', ''); - // 为避免 & 被 Blade escape 成 & 导致回退上下文丢失,这里需要原样输出 href。 - // 安全护栏:必须为站内相对路径,并拒绝引号/尖括号,且拒绝 nested back。 - $safeBack = (str_starts_with($incomingBack, '/') + $safeBackForLinks = (str_starts_with($incomingBack, '/') && !preg_match('/["\'<>]/', $incomingBack) && !preg_match('/(?:^|[?&])back=/', $incomingBack)) ? $incomingBack : ''; - // back 参数用于“返回上一页(保留上下文)”,但 back 本身不应再包含 back(避免无限嵌套导致 URL 膨胀) $currentQuery = request()->query(); unset($currentQuery['back']); @@ -61,9 +62,9 @@
对外平台(/platform)收集的开通意向线索,用于前期 A(站点开通型)人工运营承接。
- @if($safeBack) + @if($safeBackForLinks !== '') @endif后续会在此处逐步接入:一键生成站点/订阅/平台订单、跟进记录、转化漏斗与治理提示。
@@ -72,8 +73,8 @@