Require raw HTML from Hermes MCP
This commit is contained in:
1 parent
dd019afff6
commit
17e07d525b
3 files changed
+8
-10
No files matched your search
@@ -50,6 +50,10 @@ für solche internen Dokumentlinks sowie `<br>` und `<strong>` erlaubt. Andere
|
|||||||
HTML-Tags und nicht erlaubte URL-Schemata werden entfernt. Externe `http://`-
|
HTML-Tags und nicht erlaubte URL-Schemata werden entfernt. Externe `http://`-
|
||||||
und `https://`-Links sind erlaubt und öffnen in einem neuen Tab. Der Link ist
|
und `https://`-Links sind erlaubt und öffnen in einem neuen Tab. Der Link ist
|
||||||
schreibgeschützt und erfordert bei internen Dokumenten eine aktive ERP-Anmeldung.
|
schreibgeschützt und erfordert bei internen Dokumenten eine aktive ERP-Anmeldung.
|
||||||
|
Hermes muss diesen HTML-String unverändert als Feldwert senden: keine Markdown-
|
||||||
|
Notation, keine Backticks und keine HTML-Entity-Kodierung wie `<`, `>` oder
|
||||||
|
`"`. Der MCP-Transport erwartet den HTML-Inhalt im JSON-String und escaped
|
||||||
|
ihn nicht als HTML.
|
||||||
|
|
||||||
Die Route benötigt auf dem ERP-Webserver die Konfiguration
|
Die Route benötigt auf dem ERP-Webserver die Konfiguration
|
||||||
`HERMES_DOCUMENT_ROOT=/volume1/Hermes/Hermes Naurua`. Dieser lokale Pfad ist
|
`HERMES_DOCUMENT_ROOT=/volume1/Hermes/Hermes Naurua`. Dieser lokale Pfad ist
|
||||||
|
|||||||
@@ -73,7 +73,10 @@ Modulberechtigung.
|
|||||||
Feld `notes` referenziert werden. Zusätzlich sind in mehrzeiligen Feldern
|
Feld `notes` referenziert werden. Zusätzlich sind in mehrzeiligen Feldern
|
||||||
`<br>` und `<strong>` erlaubt. Die Position im bestehenden Freitext ist frei
|
`<br>` und `<strong>` erlaubt. Die Position im bestehenden Freitext ist frei
|
||||||
wählbar. Externe `http://`- und `https://`-Links sind zulässig und öffnen in
|
wählbar. Externe `http://`- und `https://`-Links sind zulässig und öffnen in
|
||||||
einem neuen Tab; andere HTML-Tags und URL-Schemata sind nicht zulässig.
|
einem neuen Tab; andere HTML-Tags und URL-Schemata sind nicht zulässig. Hermes
|
||||||
|
sendet den HTML-String unverändert; Markdown, Backticks und HTML-Entities wie
|
||||||
|
`<`, `>` oder `"` werden nicht verwendet. Der MCP-Transport escaped
|
||||||
|
den HTML-Inhalt nicht.
|
||||||
- Unsichere Erkennung wird nicht durch eine zusätzliche App-Freigabelogik
|
- Unsichere Erkennung wird nicht durch eine zusätzliche App-Freigabelogik
|
||||||
behandelt; die fachliche Qualitätssicherung liegt im Hermes-Training.
|
behandelt; die fachliche Qualitätssicherung liegt im Hermes-Training.
|
||||||
|
|
||||||
|
|||||||
@@ -64,15 +64,6 @@ function market_management_sanitize_multiline_html(?string $value): ?string
|
|||||||
return $value;
|
return $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ($decodePass = 0; $decodePass < 3; $decodePass++) {
|
|
||||||
$decoded = html_entity_decode($value, ENT_QUOTES | ENT_HTML5, 'UTF-8');
|
|
||||||
if ($decoded === $value) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$value = $decoded;
|
|
||||||
}
|
|
||||||
$value = preg_replace('/(<a\b[^>]*\bhref\s*=\s*["\'])@url:/iu', '$1', $value) ?? $value;
|
|
||||||
|
|
||||||
$tokens = preg_split('/(<\/?a\b[^>]*>|<br\s*\/?>|<\/?strong\s*>)/iu', $value, -1, PREG_SPLIT_DELIM_CAPTURE);
|
$tokens = preg_split('/(<\/?a\b[^>]*>|<br\s*\/?>|<\/?strong\s*>)/iu', $value, -1, PREG_SPLIT_DELIM_CAPTURE);
|
||||||
if ($tokens === false) {
|
if ($tokens === false) {
|
||||||
return htmlspecialchars($value, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
|
return htmlspecialchars($value, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
|
||||||
|
|||||||
Reference in new issue
Block a user