Fix security vulnerabilities
This commit is contained in:
@@ -7,6 +7,19 @@ export default async function generateWebPageGetCachePage({ module, routeParams,
|
||||
const expiry_seconds = config?.cacheExpiry || serverRes?.cache_expiry;
|
||||
if (cache_page && routeParams?.url) {
|
||||
try {
|
||||
const status = serverRes?.response_options?.status;
|
||||
if (status && (status < 200 || status >= 300)) {
|
||||
return false;
|
||||
}
|
||||
const res_headers = new Headers(serverRes?.response_options?.headers);
|
||||
if (res_headers.has("set-cookie")) {
|
||||
return false;
|
||||
}
|
||||
const req_headers = routeParams.req.headers;
|
||||
if (!global.BUNEXT_CONFIG?.cache_credentialed_requests &&
|
||||
(req_headers.has("cookie") || req_headers.has("authorization"))) {
|
||||
return false;
|
||||
}
|
||||
const is_cache = typeof cache_page == "boolean"
|
||||
? cache_page
|
||||
: await cache_page({ ctx: routeParams, serverRes });
|
||||
|
||||
Reference in New Issue
Block a user