You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写PHP函数检查GET全局page变量返回值完成变量赋值

适配现有逻辑的check函数实现

你现有代码流程为默认给$title赋值"Links",检测到$_GET['page']存在时调用check函数处理参数并覆盖赋值,对应的函数实现需要兼顾兼容性与安全防护,具体可直接落地的代码如下:

function check(string $rawPage): string {
    // 过滤特殊字符,转义可引发XSS的危险内容
    $safePage = trim(filter_var(
        $rawPage,
        FILTER_SANITIZE_FULL_SPECIAL_CHARS
    ));

    // 配置合法参数与对应标题的白名单映射,从根源阻断非法参数注入
    $titleMap = [
        'home' => '站点首页',
        'article' => '文章列表',
        'about' => '关于站点',
        'message' => '留言板'
    ];

    // 命中白名单返回对应标题,未命中则回退为默认值
    return $titleMap[$safePage] ?? 'Links';
}

落地使用注意点

  • 禁止在check函数中直接返回原始传入的GET参数值,否则用户可构造带恶意脚本的请求参数,直接触发反射型XSS漏洞
  • 白名单校验的安全等级远高于正则校验、长度限制,可完全控制允许传入的参数范围,避免非法值污染页面内容
  • 如果业务无需固定标题映射,至少要在函数内增加参数长度截断(比如限制最长20个字符),防止超长参数破坏页面布局

内容的提问来源于stack exchange,提问作者LurpThurst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.30 17:45:04