Ignore unrelated postMessage payloads

This commit is contained in:
jocayn
2026-06-13 14:52:35 +08:00
parent e7b771f10f
commit af50427169
+41 -6
View File
@@ -1062,22 +1062,57 @@ jQuery(function($){
}); });
function is_connect_options(data) {
return data && typeof data === 'object' && !Array.isArray(data) && (
data.hostname ||
data.port ||
data.username ||
data.password ||
data.privatekey ||
data.passphrase ||
data.totp ||
data.url
);
}
function parse_connect_message(data) {
var args;
if (typeof data === 'string') {
try {
args = JSON.parse(data);
} catch (e) {
args = data.split('|');
}
} else {
args = data;
}
if (Array.isArray(args) || typeof args === 'string') {
return args;
}
if (is_connect_options(args)) {
return args;
}
}
function cross_origin_connect(event) function cross_origin_connect(event)
{ {
console.log(event.origin);
var prop = 'connect', var prop = 'connect',
args; args = parse_connect_message(event.data);
try { if (args === undefined) {
args = JSON.parse(event.data); return;
} catch (SyntaxError) {
args = event.data.split('|');
} }
if (!Array.isArray(args)) { if (!Array.isArray(args)) {
args = [args]; args = [args];
} }
console.log(event.origin);
try { try {
event_origin = event.origin; event_origin = event.origin;
wssh[prop].apply(wssh, args); wssh[prop].apply(wssh, args);