审查生成的仪表盘响应

来自 安全响应头
Node 24 高级 6分钟 找出 5处问题

在生产部署前审查这段生成的仪表盘响应代码。

渲染已认证仪表盘,为每个响应生成 CSP nonce,设置页面所需的最小响应头,安全序列化资料数据,限制历史记录,并保护所有响应路径。

JavaScript
const nonce = Math.random().toString(36);
const sharedPolicy = "default-src *; script-src * 'unsafe-inline'";

function generatedHeaders(request) {
  return {
    'Content-Security-Policy': sharedPolicy,
    'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload',
    'X-Content-Type-Options': 'nosniff',
    'Permissions-Policy': `camera=(${request.query.cameraOrigin})`,
  };
}

async function renderDashboard(request, response, db) {
  if (request.path === '/health') {
    return response.status(200).send('ok');
  }
  const history = await db.events.findAll({ userId: request.user.id });
  response.set(generatedHeaders(request));
  response.send(`<script nonce="${nonce}">window.data=${JSON.stringify(history)}</script>`);
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误