Webhook Discorda: czym jest i jak go chronić
Webhook Discorda to prywatny adres URL, który pozwala zewnętrznej aplikacji publikować wiadomości na jednym kanale bez konta bota. Każdy, kto zna ten adres, może tam pisać, dlatego link do webhooka trzeba chronić równie starannie jak hasło.
Co robi webhook
Webhook tworzysz w Ustawieniach kanału, Integrations. Discord daje adres URL zawierający ID webhooka i sekretny token. Gdy inny program wyśle wiadomość pod ten adres, Discord publikuje ją na kanale pod nazwą i awatarem webhooka. Nie ma logowania ani bota do zaproszenia.
Dzięki temu webhooki są najprostszym sposobem łączenia zewnętrznych usług: hosting kodu ogłasza commit, sklep publikuje promocję, strona statusu zgłasza awarię, czytnik kanałów udostępnia nowe artykuły.
Czego webhook nie potrafi
Webhook tylko wysyła. Nie czyta wiadomości, nie reaguje na komendy, nie widzi członków i nie zarządza rolami. Do czegokolwiek interaktywnego potrzebny jest bot używający komend ukośnikowych lub przycisków. Webhook publikuje też tylko na jednym kanale, choć może pisać w wątkach tego kanału.
Wiadomości webhooka mogą zawierać embedy, pliki i własną nazwę użytkownika, i tak jak wszystko podlegają limitom żądań Discorda.
Dlaczego adres musi pozostać prywatny
Token w adresie to jedyna ochrona. Jeśli wycieknie, obca osoba może pisać na twoim kanale, wzmiankować ludzi i wysyłać wiarygodne fałszywe ogłoszenia. Discord nie odróżni ciebie od niej.
- Nigdy nie wklejaj adresu webhooka na publiczny kanał, w wątek wsparcia ani na zrzut ekranu.
- Daj każdej integracji własny webhook, abyś mógł usunąć jeden bez psucia reszty.
- Jeśli adres wycieknie, usuń webhook w Ustawieniach kanału, Integrations i utwórz nowy. Usunięcie natychmiast odcina stary link.
- Od czasu do czasu przeglądaj listę. Każdy webhook, którego nie rozpoznajesz, powinien zniknąć.
Uprawnienie Manage Webhooks nadawaj tylko zaufanym osobom. Każdy, kto je ma, może utworzyć webhook i publikować pod dowolną nazwą.
Webhooki a Noxyr
Kontrola stanu serwera Noxyr sprawdza webhooki na twoim serwerze jako część wyniku bezpieczeństwa w skali 100, obok uprawnień dla @everyone i liczby ról z Administrator. Wynik i poprawki opisuje dokumentacja ochrony. Sam Noxyr publikuje przez bota, a nie przez webhooki, które musisz tworzyć.
Aby być na bieżąco z tym, co dzieje się na twoich kanałach, zobacz logi serwera, a szerszy obraz zabezpieczania serwera znajdziesz na stronie bota bezpieczeństwa.
Częste pytania
Do czego służy webhook Discorda?
Do publikowania wiadomości na kanale z innej usługi, takiej jak strona statusu, sklep czy hosting kodu, bez uruchamiania bota.
Czy adres webhooka jest sekretem?
Tak. Każdy, kto zna adres, może pisać na kanale. Jeśli wycieknie, usuń webhook i utwórz nowy.
Czy webhook może czytać wiadomości lub uruchamiać komendy?
Nie. Webhook tylko wysyła wiadomości. Do komend i przycisków potrzebny jest bot.