HTML bereinigen
KIT entfernt aus HTML-Code alle potenziell schädlichen Bestandteile – Skripte, gefährliche Attribute, eingebettete Objekte – und behält die reguläre Formatierung wie Überschriften und Links. Gedacht für alle, die von Nutzenden eingegebenen oder aus fremder Quelle stammenden HTML-Inhalt sicher veröffentlichen möchten.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Warum HTML bereinigt werden sollte
Wird HTML-Code aus einer nicht vertrauenswürdigen Quelle – etwa einem Kommentarformular, einem Nutzer-Upload oder einer fremden Website – ungeprüft veröffentlicht, kann darin versteckter Programmcode im Browser der Besucherinnen und Besucher ausgeführt werden. KIT entfernt genau diese Risiken, bevor der Inhalt live geht, und lässt reguläre Formatierung wie Fettschrift oder Links unangetastet. Dieses Risiko ist unter dem Begriff Cross-Site-Scripting bekannt und zählt zu den häufigsten Schwachstellen bei Websites mit nutzergenerierten Inhalten.
Was konkret entfernt wird
Skript-Blöcke, Ereignis-Attribute wie „onclick", eingebettete Objekte und Verweise auf externe, potenziell gefährliche Ressourcen werden entfernt oder neutralisiert. Übrig bleibt HTML, das sich sicher und ohne weitere Prüfung in eine eigene Seite einbetten lässt, ohne dass fremder Programmcode im Browser der Besucherin ausgeführt werden kann. Auch versteckte Weiterleitungen und manipulierte Verweise auf externe, potenziell gefährliche Adressen werden dabei zuverlässig erkannt und entschärft.
Grenzen, die Sie kennen sollten
Der HTML-Code darf bis zu 25 MB groß sein. Die Bereinigung folgt einem festgelegten, konservativen Regelwerk; bei sehr speziellen, selten genutzten HTML-Konstrukten kann in Einzelfällen mehr entfernt werden, als für Ihren konkreten Anwendungsfall nötig wäre. Prüfen Sie das Ergebnis bei ungewöhnlichem Ausgangs-HTML. Interaktive Elemente wie eingebettete Formulare werden aus Sicherheitsgründen grundsätzlich entfernt, auch wenn sie im Einzelfall harmlos gewesen wären.
Wofür sich das eignet
Kommentarfunktionen, Nutzer-Profile mit eigenem HTML-Text oder importierte Inhalte aus fremden Quellen lassen sich mit dieser Funktion vor der Veröffentlichung prüfen und bereinigen. So bleibt die eigene Website sicher, auch wenn der ursprüngliche Inhalt nicht von Ihnen selbst stammt. Auch beim automatisierten Import von Inhalten über eine Schnittstelle lässt sich dieser Schritt fest in den Ablauf einbauen, bevor ein Inhalt live geht.
Anwendungsfälle
Kommentarfunktion einer Website absichern
Ein Entwickler in Stuttgart bereinigt jeden über das Kommentarformular eingereichten HTML-Text, bevor er auf der Website veröffentlicht wird, um schädlichen Programmcode zuverlässig auszuschließen.
Fremde Produktbeschreibung übernehmen
Ein Onlineshop übernimmt Produktbeschreibungen eines Lieferanten als HTML und bereinigt sie vor der Veröffentlichung, weil die Herkunft des ursprünglichen Codes nicht bekannt ist.
Nutzer-Profile mit eigenem HTML-Text
Ein Forum aus Hamburg erlaubt Mitgliedern, ihre Profilbeschreibung mit einfacher HTML-Formatierung zu gestalten, und bereinigt jede Eingabe automatisch, bevor sie für andere sichtbar wird.
Häufige Fragen
Was kostet die Bereinigung von HTML-Code?
Die Web-Oberfläche kostet Sie nichts. Für Automatisierungen über die API berechnen wir $0.002 pro Anfrage, unabhängig von der Dateigröße.
Welche Elemente werden konkret entfernt?
Vor allem Skript-Blöcke, Ereignis-Attribute wie „onclick" und eingebettete Objekte; reguläre Formatierung wie Überschriften, Fettschrift und Links bleibt erhalten.
Verlässt mein Code dabei den Browser?
Im Browser bleibt der Code bei Ihnen: Die Bereinigung erfolgt lokal, es findet keine Übertragung statt.
Ersetzt das eine eigene Sicherheitsprüfung meiner Website?
Nein, die Funktion bereinigt den konkreten HTML-Inhalt, ersetzt aber keine umfassende Sicherheitsprüfung Ihrer gesamten Website oder Anwendung.
Wie groß darf der HTML-Code sein?
Bis zu 25 MB.
Ist ein Konto erforderlich?
Nein, ein Konto ist nicht vorgesehen. Im Browser ist die Nutzung anonym und kostenlos, die API wird separat pro Anfrage berechnet.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/data/html-sanitize \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/html-sanitize", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/html-sanitize",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/html-sanitize", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/html-sanitize", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"input": "…"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.html_sanitize",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |