CH-J Server Managerservera pārvaldība virs SSH
Izvēlne
Publicētais avots

CH-J Server Manager

Pārlūkot mapes un failus konkrētai lietojumprogrammas izdošanai.

Lejupielādēt avota ZIP
CH-J / Server Manager 193 faili
core-20261011T184039Z-4148710795d0 Pievienots: Datums nav reģistrēts · Būvēts:
Faili
urlPolicy.test.js Pievienots: Datums nav reģistrēts 1,2 KB · 34 rindas
Lejupielādēt failu
1"use strict";
3const test = require("node:test");
4const assert = require("node:assert/strict");
5const { assertAllowedUrl, normalizeBaseUrl } = require("../src/main/security/urlPolicy");
7const bases = [
8 "https://sm.ch-j.de/"
9];
11test("base URL normalization preserves the allowed root", () => {
12 assert.equal(normalizeBaseUrl("https://sm.ch-j.de").toString(), bases[0]);
13});
15test("allowed API and file URLs pass", () => {
16 assert.equal(
17 assertAllowedUrl(`${bases[0]}api/latest.php`, bases, { pathSegment: "api/" }).hostname,
18 "sm.ch-j.de"
19 );
20 assert.equal(
21 assertAllowedUrl(`${bases[0]}files/apps/win/app.exe`, bases, { pathSegment: "files/" }).hostname,
22 "sm.ch-j.de"
23 );
24});
26test("foreign hosts, credentials and paths are rejected", () => {
27 assert.throws(() => assertAllowedUrl("https://example.com/update.exe", bases), /allowlist/);
28 assert.throws(() => assertAllowedUrl("https://admin@sm.ch-j.de/files/a", bases), /credentials/);
29 assert.throws(() => assertAllowedUrl(`${bases[0]}admin.php`, bases, { pathSegment: "files/" }), /path/);
30});
32test("HTTP update origins are rejected", () => {
33 assert.throws(() => normalizeBaseUrl("http://sm.ch-j.de/"), /HTTPS/);
34});
SHA-256d76d344fc0a131fce6290b1ec7070dbd3c720cdd7b11a86e4330692f4056425b

CH-J Proprietary Software License 1.14 · Avots ir sniegts saskaņā ar CH-J Proprietary Software License 1.14. Tā pieejamība nemaina licences noteikumus un nepiešķir papildu tiesības.

Arhīvs SHA-2565a8ea02d06a5643cf2330fe9f54b8767a06c1c59d36527705e536fa9dbca7614