[mirotlaksfu] - fix checkXSS
هذا الالتزام موجود في:
@@ -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;
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم