Discord-Webhook: Was er ist und wie du ihn sicher hältst
Ein Discord-Webhook ist eine private URL, mit der eine externe App ohne Bot-Konto Nachrichten in einen einzelnen Kanal schreiben kann. Wer die URL kennt, kann dort posten. Deshalb solltest du einen Webhook-Link so privat behandeln wie ein Passwort.
Was ein Webhook tut
Du erstellst einen Webhook unter Kanaleinstellungen, Integrationen. Discord gibt dir eine URL, die die Webhook-ID und ein geheimes Token enthält. Sendet ein anderes Programm eine Nachricht an diese URL, postet Discord sie im Kanal unter dem Namen und Avatar des Webhooks. Es gibt keine Anmeldung und keinen Bot, den du einladen musst.
Dadurch sind Webhooks der einfachste Weg, externe Dienste anzubinden: ein Code-Hoster, der einen Commit ankündigt, ein Shop, der einen Sale postet, eine Status-Seite, die einen Ausfall meldet, oder ein Feed-Reader, der neue Artikel teilt.
Was ein Webhook nicht kann
Ein Webhook kann nur senden. Er liest keine Nachrichten, reagiert nicht auf Befehle, sieht keine Mitglieder und verwaltet keine Rollen. Für alles Interaktive brauchst du einen Bot, der Slash-Befehle oder Buttons nutzt. Ein Webhook postet außerdem nur in einen Kanal, wenn auch in Threads dieses Kanals.
Webhook-Nachrichten können Embeds, Dateien und einen eigenen Benutzernamen enthalten. Sie unterliegen wie alles andere den Rate-Limits von Discord.
Warum die URL privat bleiben muss
Das Token in der URL ist der einzige Schutz. Wird es geleakt, kann ein Fremder in deinen Kanal schreiben, Leute erwähnen und täuschend echte falsche Ankündigungen verschicken. Discord kann nicht unterscheiden, ob du oder er schreibst.
- Füge eine Webhook-URL nie in einen öffentlichen Kanal, einen Support-Thread oder einen Screenshot ein.
- Gib jeder Integration einen eigenen Webhook, damit du einen entfernen kannst, ohne die anderen zu brechen.
- Wird eine URL geleakt, lösche den Webhook unter Kanaleinstellungen, Integrationen und erstelle einen neuen. Das Löschen kappt den alten Link sofort.
- Prüfe die Liste ab und zu. Jeder Webhook, den du nicht erkennst, sollte weg.
Vergib die Berechtigung Webhooks verwalten nur an Personen, denen du vertraust. Wer sie hat, kann einen Webhook erstellen und unter jedem beliebigen Namen posten.
Webhooks und Noxyr
Der Server-Gesundheitscheck von Noxyr prüft die Webhooks deines Servers als Teil des Sicherheitswerts von 100, zusammen mit den Berechtigungen für @everyone und der Anzahl der Rollen mit Administrator. Der Wert und die Korrekturen sind in den Docs zum Schutz beschrieben. Noxyr selbst postet über den Bot, nicht über Webhooks, die du selbst erstellen musst.
Um mitzubekommen, was in deinen Kanälen passiert, siehe die Server-Logs. Für das größere Bild, wie du einen Server absicherst, siehe die Seite zum Sicherheits-Bot.
Häufige Fragen
Wofür wird ein Discord-Webhook genutzt?
Um Nachrichten aus einem anderen Dienst in einen Kanal zu schreiben, etwa von einer Status-Seite, einem Shop oder einem Code-Hoster, ohne einen Bot zu betreiben.
Ist eine Webhook-URL geheim?
Ja. Jeder mit der URL kann in den Kanal schreiben. Lösche den Webhook und erstelle einen neuen, wenn er geleakt wurde.
Kann ein Webhook Nachrichten lesen oder Befehle ausführen?
Nein. Ein Webhook sendet nur Nachrichten. Für Befehle und Buttons brauchst du einen Bot.