Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 4352|Yanıt: 2

[JavaScript] Web geliştirme için ajax-hook, tüm XMLHttpRequest taleplerini kesiyor

[Bağlantıyı kopyala]
Yayınlandı 22.06.2023 10:29:45 | | | |
Gereksinimler: Tüm XMLHttpRequest isteklerini ele geçirin ve arka uç arayüzü giriş geçersiz durum kodunu döndürdüğünde, doğrudan giriş arayüzüne atlayın ve artık onu geçmeyin. Ayrıca birleşik imzalar, otomatik protokol çözümleme, arayüz çağrısı istatistikleri vb. eklenmesini talep etmek için de kullanılabilir.

Eleştiri:

jQuery, Ajax'ın geri dönen sonuçlarını kesiyor
https://www.itsvse.com/thread-9570-1-1.html
jQuery, Ajax isteklerini kesebilse de, yalnızca jQuery'de ajax yöntemlerini kullanan çağıranla sınırlıdır ve yerel XMLHttpRequest kullanarak isteği kesemez.jQuery'deki ajax isteği aynı zamanda XMLHttpRequest'in kapsüllenmesi olduğundan, aslında XMLHttpRequest'i kesebiliyoruz

ajax-hook, tarayıcı XMLHttpRequest nesnelerini engellemek için hafif bir kütüphanedir; bu kütüphane, XMLHttpRequest nesnesi isteği başlatmadan önce, yanıt içeriğini aldıktan sonra ve hata meydana geldiğinde istekleri, yanıtları ve hataları ön işleme için kullanılabilir. Ajax-hook oldukça uyumlu ve ES5'i destekleyen herhangi bir tarayıcıda çalışabilir, çünkü ES6 özelliklerine güvenmez.

Prensip: ajax-hook, XMLHttpRequest'teki yöntemleri ve özellikleri özelleştirerek küresel XMLHttpRequest nesnesini geçersiz kılar. XMLHttpRequest nesnesi için bir proxy katmanı sarılır.

Açık Kaynak Adresi:Bağlantı girişi görünür.

CDN adresi:Bağlantı girişi görünür.

Vekil vs. Hook

Hem proxy() hem de hook() küresel XMLHttpRequest'leri engellemek için kullanılabilir. Farkları şunlardır:hook() ince bir kesme granülerliğine sahiptir, XMLHttpRequest nesnesinin belirli bir yöntemine, özniteliğine veya geri çağırmasına özgü olabilir, ancak kullanımı daha zahmetlidir ve çoğu zaman sadece iş mantığının çeşitli geri çağırmalarda dağınık olması değil, aynı zamanda hatalara da yatkın olması gerekir. Oysaproxy() yüksek derecede soyutlama içerir, ve istek bağlamı oluşturulur (istek bilgisi yapılandırması her geri çağrıda doğrudan elde edilebilir), bu da kullanımı daha basit ve daha verimlidir.

Çoğu zaman, bizProxy() yöntemini kullanmanız, ihtiyaçlarınızı karşılamadıkça tavsiye edilir

ajax-hook'ta jQuery ajax isteği yakalama ve proxy engelleme eklemeyi deneyin, kod şöyledir:

jQuery ile bir get isteği göndermeyi deneyin, görebilirsinizHer ikisi de ele geçirilebilir, aşağıdaki şekilde gösterildiği gibi:



Yerel XMLHttpRequest ile bir istek gönderin, keşfedinSadece ajax-hook kesebilir, aşağıdaki şekilde gösterildiği gibi:



ajax-hook proxy'nin daha fazla kullanımı:

Örnek:Bağlantı girişi görünür.

(Son)





Önceki:EF SQL ifadeleri otomatik olarak IS NULL veya IS NOT NULL üretir
Önümüzdeki:.NET/C# HttpClient kaynak kodu basit analiz
 Ev sahibi| Yayınlandı 22.06.2023 10:32:52 |
Fetch() API istekleri ve yanıtlarını kesin:https://stackoverflow.com/questi ... onses-in-javascript
 Ev sahibi| Yayınlandı 18.04.2024 08:39:18 |
HTTP yanıtını kesin 401 İzkisiz sıçrama giriş kodu:

Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com