Struktura i analiza żądań webhook
Komunikacja za pomocą webhooków opiera się na jednokierunkowych żądaniach HTTP wysyłanych przez system źródłowy (nadawcę) do systemu docelowego (odbiorcy) w momencie wystąpienia określonego zdarzenia. Zrozumienie dokładnej struktury takiego żądania jest kluczowe dla prawidłowej integracji systemów. Każde żądanie webhook składa się z metody HTTP, zestawu nagłówków oraz opcjonalnej treści (body) zawierającej szczegółowe dane o zdarzeniu.
Podczas debugowania integracji kluczowe znaczenie ma analiza surowej postaci żądania. Narzędzie pozwala na wklejenie metody, nagłówków oraz dokładnej treści w celu zbadania ich formatu i przygotowania lokalnego środowiska testowego.
Parametry wejściowe narzędzia
Aby przeprowadzić inspekcję żądania, należy wprowadzić następujące dane wejściowe, przestrzegając określonych limitów technicznych:
- Metoda: Wybór metody HTTP z listy zawierającej POST, PUT, PATCH, GET oraz DELETE.
- Nagłówki: Nagłówki żądania wprowadzane w formacie jeden nagłówek na linię jako "Nazwa: wartość". Obowiązuje limit maksymalnie 200 niepustych linii nagłówków oraz łączna długość do 100 000 znaków.
- Ciało (Body): Dokładna, surowa treść żądania przechwycona przed jakąkolwiek analizą lub parsowaniem po stronie serwera. Maksymalny rozmiar treści wynosi 1 000 000 znaków.
Formaty treści i reguły przetwarzania
Narzędzie automatycznie wykrywa i formatuje dwa popularne typy zawartości webhooków: JSON oraz dane formularza zakodowane w adresie URL (URL-encoded form data). Wszystkie inne typy treści są traktowane i wyświetlane jako zwykły tekst.
W przypadku wykrycia formatu JSON, treść jest analizowana za pomocą standardowej operacji JSON.parse, a następnie formatowana. Proces ten wiąże się z utratą oryginalnych znaków niedrukowalnych (białych znaków) oraz może zmienić pierwotną kolejność pól w strukturze dokumentu.
W przypadku wystąpienia błędów w strukturze wejściowej, narzędzie wyświetla precyzyjne komunikaty o błędach:
- Gdy nie wprowadzono danych: "Najpierw wklej co najmniej jeden nagłówek lub treść żądania."
- Gdy nagłówki przekraczają limit znaków: "Nagłówki są za długie dla tego narzędzia. Usuń niepowiązane lub powtarzające się wartości."
- Gdy treść przekracza limit znaków: "Korpus jest za długi dla tego narzędzia. Nie przekraczaj 1 000 000 znaków."
- Gdy liczba linii nagłówków jest zbyt duża: "Istnieje zbyt wiele wierszy nagłówka. Ogranicz żądanie do 200 nagłówków lub mniej."
- Gdy linia nagłówka nie spełnia standardu: "
‹line›: Linia nagłówka jest nieprawidłowa. Użyj nazwy: wartość." - Gdy struktura JSON jest uszkodzona: "Treść wygląda jak JSON, ale nie można jej przeanalizować."
- Gdy dane formularza są niepoprawne: "Treść formularza zawiera niepełną wartość procentową ucieczki."
Identyfikacja nagłówków podpisów i znaczników czasu
Weryfikacja pochodzenia żądania jest standardem bezpieczeństwa w komunikacji webhook. Nadawcy często dołączają podpisy kryptograficzne oraz znaczniki czasu w nagłówkach HTTP, aby zapobiec atakom typu replay oraz upewnić się, że dane nie zostały zmodyfikowane.
Narzędzie skanuje przesłane nagłówki pod kątem znanych wzorców nazw powiązanych z bezpieczeństwem, takich jak signature, hmac, digest oraz popularnych nazw znaczników czasu (timestamps).
Należy pamiętać, że narzędzie wyłącznie identyfikuje i wyświetla te nagłówki. Nie wykonuje ono żadnych operacji kryptograficznych: nie oblicza skrótów HMAC, nie weryfikuje algorytmów, nie analizuje oryginalnych bajtów ładunku, nie zarządza kluczami tajnymi ani nie sprawdza okna czasowego ważności żądania.
Generowanie polecenia cURL do testów lokalnych
Jedną z głównych funkcji wyjściowych narzędzia jest generowanie gotowego do skopiowania polecenia cURL, które pozwala na replikację żądania w środowisku lokalnym.
Wygenerowane polecenie powłoki (shell) zawiera wszystkie przetworzone nagłówki oraz treść żądania, a jego adres docelowy jest na stałe ustawiony na lokalny punkt końcowy: http://localhost:3000/webhooks. Umożliwia to szybkie przesłanie identycznego ładunku do testowanej lokalnie aplikacji bez konieczności ręcznego konfigurowania parametrów wywołania.
Prywatność i przetwarzanie danych
Wszystkie operacje związane z analizą, formatowaniem oraz przetwarzaniem wklejonych nagłówków i treści żądania odbywają się bezpośrednio w przeglądarce internetowej użytkownika. Wklejone żądanie pozostaje w przeglądarce. BroBroGo nie przesyła go ani nie zapisuje.
Najczęściej zadawane pytania (FAQ)
Czy ta strona może otrzymać wywołanie zwrotne na żywo webhooka?
Nie. Wklej tutaj przechwycone żądanie w celu sprawdzenia. Strona nie tworzy publicznego punktu końcowego, nie odbiera wywołań zwrotnych ani nie wysyła wygenerowanego żądania testowego.
Które formaty treści webhooka mogę sprawdzić?
Wykrywane i formatowane są treści formularzy w formacie JSON i zakodowanym w adresie URL. Inne treści pozostają zwykłym tekstem, więc narzędzie nie zgaduje treści XML, wieloczęściowej lub binarnej.
Czy znalezienie pola podpisu potwierdza autentyczność żądania?
Nie. Narzędzie wyświetla jedynie sygnaturę i powiązane nagłówki sygnatur czasowych. Prawdziwa weryfikacja wymaga dokładnych zasad podpisywania nadawcy, klucza tajnego lub publicznego oraz bajtów oryginalnego żądania. Znalezienie pola podpisu nie dowodzi, że żądanie jest autentyczne — rzeczywista weryfikacja wymaga reguł podpisywania nadawcy, klucza lub sekretu oraz oryginalnych bajtów żądania.