Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 4352|Odpowiedź: 2

[JavaScript] Hak ajax-hook do tworzenia stron internetowych przechwytuje wszystkie żądania XMLHttpRequest

[Skopiuj link]
Opublikowano 22.06.2023 10:29:45 | | | |
Wymagania: Przechwycać wszystkie żądania XMLHttpRequest i gdy interfejs backendowy zwraca nieprawidłowy kod statusu logowania, przejdź bezpośrednio do interfejsu logowania i nie przekazuj go dalej. Może być również używany do żądania dodawania zunifikowanych sygnatur, automatycznego rozwiązywania protokołów, statystyk wywołań interfejsu itp.

Recenzja:

jQuery przechwytuje wyniki zwrócone przez Ajax
https://www.itsvse.com/thread-9570-1-1.html
Chociaż jQuery może przechwytywać żądania Ajax, jest ograniczony do wywołującego metod ajax w jQuery i nie może przechwytywać żądań za pomocą natywnego XMLHttpRequest.Ponieważ żądanie ajax w jQuery jest również enkapsulacją XMLHttpRequest, możemy faktycznie przechwycić XMLHttpRequest

ajax-hook to lekka biblioteka do przechwytywania obiektów XMLHttpRequest przeglądarki, która może być używana do wstępnego przetwarzania żądań, odpowiedzi i błędów przed zainicjowaniem żądania przez obiekt XMLHttpRequest, po otrzymaniu treści odpowiedzi oraz w przypadku wystąpienia błędu. Ajax-hook jest bardzo kompatybilny i może działać na każdej przeglądarce obsługującej ES5, ponieważ nie opiera się na funkcjach ES6.

Zasada: ajax-hook dostosowuje metody i właściwości w XMLHttpRequest, aby nadpisać globalny obiekt XMLHttpRequest. Warstwa proxy jest owinięta dla obiektu XMLHttpRequest.

Adres open source:Logowanie do linku jest widoczne.

Adres CDN:Logowanie do linku jest widoczne.

Proxy vs. hook

Zarówno proxy(), jak i hook() mogą być używane do przechwytywania globalnych żądań XMLHttpRequests. Ich różnice to:hook() ma drobną granularność przechwytu, może być specyficzna dla konkretnej metody, atrybutu lub wywołania zwrotnego obiektu XMLHttpRequest, ale jest bardziej uciążliwa w użyciu, a często logika biznesowa musi być rozproszona w różnych połączeniach zwrotnych, ale także podatna na błędy. zaśproxy() charakteryzuje się wysokim stopniem abstrakcji, a kontekst żądania jest tworzony (konfiguracja informacji o żądaniu jest dostępna bezpośrednio w każdym callbacku), co jest prostsze i bardziej efektywne w użyciu.

Najczęściej myZaleca się stosowanie metody proxy(), chyba że nie spełnia ona Twoich potrzeb

Spróbuj dodać przechwytywanie żądań jQuery ajax oraz przechwytywanie proxy w języku ajax-hook, kod wygląda następująco:

Spróbuj wysłać żądanie get za pomocą jQuery i zobaczysz toOba można przechwycić, jak pokazano na poniższym rysunku:



Wyślij żądanie za pomocą natywnego XMLHttpRequest, odkryjTylko hak ajax może przechwycić, jak pokazano na poniższym rysunku:



Więcej zastosowań proxy haka ajax:

Przykład:Logowanie do linku jest widoczne.

(Koniec)





Poprzedni:Instrukcje EF SQL automatycznie generują IS NULL lub IS NOT NULL
Następny:.NET/C# Kod źródłowy HttpClient – prosta analiza
 Ziemianin| Opublikowano 22.06.2023 10:32:52 |
Żądania i odpowiedzi API Intercept fetch():https://stackoverflow.com/questi ... onses-in-javascript
 Ziemianin| Opublikowano 18.04.2024 08:39:18 |
Przechwycenie odpowiedzi HTTP 401 Nieautoryzowany kod logowania do skoku:

Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com