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://`-
|
||||
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.
|
||||
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
|
||||
`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
|
||||
`<br>` und `<strong>` erlaubt. Die Position im bestehenden Freitext ist frei
|
||||
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
|
||||
behandelt; die fachliche Qualitätssicherung liegt im Hermes-Training.
|
||||
|
||||
|
||||
@@ -64,15 +64,6 @@ function market_management_sanitize_multiline_html(?string $value): ?string
|
||||
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);
|
||||
if ($tokens === false) {
|
||||
return htmlspecialchars($value, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
|
||||
|
||||
Reference in new issue
Block a user