forked from cms/tibi-svelte-starter
fixed secret exploit via ssr code sourcemap
This commit is contained in:
37
api/hooks/lib/ssr.js
Normal file
37
api/hooks/lib/ssr.js
Normal file
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* convert object to string
|
||||
* @param {any} obj object
|
||||
*/
|
||||
function obj2str(obj) {
|
||||
if (Array.isArray(obj)) {
|
||||
return JSON.stringify(
|
||||
obj.map(function (idx) {
|
||||
return obj2str(idx)
|
||||
})
|
||||
)
|
||||
} else if (typeof obj === "object" && obj !== null) {
|
||||
var elements = Object.keys(obj)
|
||||
.sort()
|
||||
.map(function (key) {
|
||||
var val = obj2str(obj[key])
|
||||
if (val) {
|
||||
return key + ":" + val
|
||||
}
|
||||
})
|
||||
|
||||
var elementsCleaned = []
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
if (elements[i]) elementsCleaned.push(elements[i])
|
||||
}
|
||||
|
||||
return "{" + elementsCleaned.join("|") + "}"
|
||||
}
|
||||
|
||||
if (obj) return obj
|
||||
}
|
||||
|
||||
// can be used by client code, so DONT INCLUDE hooks/config.js (SECRETS INSIDE)
|
||||
|
||||
module.exports = {
|
||||
obj2str,
|
||||
}
|
||||
Reference in New Issue
Block a user