Files
console-dev/app/lib/remote-console.js
T

25 lines
794 B
JavaScript

/** 从实例页打开前端远控页;允许模块显式列举,网关会话仍由远控页和后端建立。 */
var e = new Set([
`kky_ecs`,
`mf_cloud`,
`remf_cloud`,
`mf_dcim`,
`remf_dcim`,
`remf_finance`,
`remf_finance_dcim`,
`remf_finance_common`,
`idcsmart_common`,
]);
// 实例编号限制为最多十位的正整数字符串,拒绝任意路径/查询片段注入。
function t(t, n) {
let r = String(t);
if (!/^[1-9]\d{0,9}$/.test(r) || !e.has(n))
throw Error(`实例信息无效,请刷新后重试`);
return `/remote-console?hostId=${r}&module=${n}`;
}
// 新窗口不保留 opener,且不附带 Referer;这里不传递 JWT 或远控密码到 URL。
function n(e, n) {
window.open(t(e, n), `_blank`, `noopener,noreferrer`);
}
export { n as t };