[mirotlaksfu] - fix checkXSS

هذا الالتزام موجود في:
Miroslav Pejic
2023-05-27 14:38:29 +02:00
الأصل 33a2b49bcf
التزام 7f6101afbc

عرض الملف

@@ -7,7 +7,8 @@ const log = new Logger('Xss');
const checkXSS = (dataObject) => {
try {
if (typeof dataObject === 'object' && Object.keys(dataObject).length > 0) {
const data = xss(JSON.stringify(dataObject));
const escapedObj = escapeObject(dataObject);
const data = xss(JSON.stringify(escapedObj));
log.debug('Check XSS done');
return JSON.parse(data);
}
@@ -18,4 +19,15 @@ const checkXSS = (dataObject) => {
}
};
function escapeObject(obj) {
const escapedObj = {};
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
const escapedKey = key.replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
escapedObj[escapedKey] = obj[key];
}
}
return escapedObj;
}
module.exports = checkXSS;