我已经对React应用程序执行了Checkmarx扫描。扫描结果如下:
HSTS报头缺失:
web应用程序没有定义HSTS头,这使得它很容易受到攻击。
以下高亮显示的代码显示错误:
const client = async (endpoint, customConfig, isStaticContent) => {
return fetch(fullUrl, config).then((response) => {
if (typeof response?.setHeader === 'function') {
response?.setHeader(
'Strict-Transport-Security',
'max-age=63072000', //error showing for this line
'includeSubDomains'
)
}
})
}
我已经检查了chrome开发工具的响应头。
应用程序有以下标题:
strict-transport-security: max-age=31536000;includeSubDomains
如何解决checkmarx问题?
根据这个答案,所有的HSTS值必须在同一行上,Checkmarx才能通过。例如:
response?.setHeader(
'Strict-Transport-Security',
'max-age=63072000; includeSubDomains'
)