CH-J Server ManagerPalvelimen hallinta yli SSH
Valikko
Julkaistu lähde

CH-J Server Manager

Selaile hakemistoja ja tiedostoja tietyn sovelluksen julkaisua varten.

Lataa lähde ZIP
CH-J / Server Manager 339 tiedostot
core-20261014T184258Z-3fbed0b93fdf Lisätty: Kirjaamaton päivä · Rakennettu:
Tiedostot
urlPolicy.test.js Lisätty: Kirjaamaton päivä 1,2 KB · 34 rivit
Lataa tiedosto
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 · Lähde ilmoitetaan CH-J Proprietary Software License 1.14-koodilla. Sen saatavuus ei muuta lisenssiehtoja eikä myönnä lisäoikeuksia.

Arkisto SHA-2563df08cf5e899262a6ce92d7ec2caf5c42b683f1f2b57055662b845ff7dde67a8