Bu tərcümə maşınla yaradılıb və yoxlama gözləyir. İngilis dilinə keç
İdarə Paneli

Brauzer İcra Mühiti

Bu bələdçi Noxtica SDK-sının ziyarətçilərinizin brauzerlərinin içindəki işini izah edir — qiymətləndirmə zamanı nə baş verir, keşləmənin hər şeyi necə sürətli saxladığı və ümumi problemlər necə həll edilir.

Necə İşləyir

Noxtica SDK-sını səhifənizə əlavə etdikdə, o, arxada dörd şey edir:

  1. Doğrulama: Sizin üçün idarə etdiyi kredensiyal-larla Site Key istifadə edərək daxil olur
  2. Toplama: Brauzerin artıq ifşa etdiyi adi siqnalları oxuyur
  3. Göndərmə: Skorlama üçün Noxtica-ya göndərir
  4. Keşləmə: Nəticəni yerli olaraq saxlayır ki, hər ziyarətdə işi təkrar etməsin

Bunların hamısı arxa planda işləyir və heç vaxt səhifənizi bloklamır.

Toplama Axını

Avtomatik (Tövsiyə Edilir)

data-auto-check-once istifadə edərkən, SDK ağıllı toplama həyata keçirir:

<script
	src="https://collect.noxtica.com/collector/noxtica.js"
	data-site-key="pk_prod_your_site_key"
	data-auto-init
	data-auto-check-once
	async
></script>

Content-security-policy istifadə edirsiniz? Noxtica-nın müdaxiləyə davamlı mühiti olan KHAN VM-i yükləmək və işlətmək üçün icazə verməlisiniz. Bunu edə bilməsə, Noxtica daha yüngül toplama forması ilə işləməyə davam edir, ancaq müdaxilə qoruması zəifləyir. Dəqiq kod parçası üçün Başlanğıc → Content Security Policy bölməsinə baxın.

İlk ziyarət: Tam qiymətləndirmə işləyir və nəticə keşlənir.

Sonrakı ziyarətlər (keş pəncərəsi içindəyken): Keşlənmiş nəticə qaytarılır və yüngül bir ziyarət qeydə alınır. Ağır iş işləmir.

Keş pəncərəsi bitdikdən sonra: Yeni qiymətləndirmə işləyir.

Əl ilə Nəzarət

Proqramatik nəzarət üçün checkOnce() metodundan istifadə edin:

const client = NoxticaCollector.createClient({
	siteKey: 'pk_prod_your_site_key',
});

const result = await client.checkOnce();

if (result.fromCache) {
	console.log('Using cached fingerprint');
	console.log('Next collection in:', result.nextSubmitIn, 'days');
} else {
	console.log('Fresh fingerprint collected');
}

Keşləmə Davranışı

SDK, hər nəticəni brauzerdə keşləyir ki, hər səhifə görüntüləməsindəki eyni ziyarətçini yenidən qiymətləndirməsin.

Keş Açarı

nox_fp_{your_site_key}

Keşlənənlər

  • Cihaz ID-si
  • Son göndərmə zaman damğası
  • Son görülmə zaman damğası
  • Əvvəlki risk skoru və səviyyəsi

TTL (Yaşama Müddəti)

Standart keş TTL 7 gündür. Bu konfiqurasiya edilə bilər:

// Toplama zamanı yenidən yazın
const result = await client.checkOnce({
	checkIntervalDays: 14, // 7 əvəzinə 14 gün
});

// Və ya saniyələrlə
const result = await client.checkOnce({
	ttlSeconds: 86400, // 1 gün
});

Zorla Yeniləmə

Keşi atlayıb yeni barmaq izi toplamaq üçün:

const result = await client.checkOnce({
	forceRefresh: true,
});

Çoxlu Tab Koordinasiyası

Bir ziyarətçi saytınızın bir neçə tabını eyni anda açdıqda, SDK yalnız bir dəfə qiymətləndirilmələrini təmin edir:

  • Yalnız bir tab həqiqi işi görür
  • Digər tablar gözləyir və həmin nəticəni paylaşır

Bu avtomatik baş verir — heç bir konfiqurasiya tələb olunmur.

Hadisələr

SDK dinləyə biləcəyiniz hadisələr göndərir:

noxtica:collected

Uğurlu toplama və ya keşlənmiş nəticə qaytarıldıqdan sonra baş verir:

document.addEventListener('noxtica:collected', (e) => {
	console.log('Fingerprint ID:', e.detail.fingerprintId);
	console.log('Risk Level:', e.detail.risk_level);
	console.log('Score:', e.detail.score);
	console.log('From Cache:', e.detail.fromCache);
});

noxtica:cache-hit

Xüsusi olaraq keşlənmiş nəticə qaytarıldıqda baş verir:

document.addEventListener('noxtica:cache-hit', (e) => {
	console.log('Cache hit, days since submission:', e.detail.daysSinceSubmit);
});

noxtica:error

Toplama uğursuz olduqda baş verir:

document.addEventListener('noxtica:error', (e) => {
	console.log('Error source:', e.detail.source);
	console.log('Error message:', e.detail.message);
});

Qlobal Dəyişənlər

Toplamadan sonra nəticələr qlobal olaraq əlçatandır:

// Toplama tamamlandıqdan sonra
console.log(window.noxticaResult);

// Müştəri nümunəsi (auto-init istifadə edərkən)
console.log(window.noxticaClient);

// Son xəta (varsa)
console.log(window.noxticaLastError);

Xəta İdarəetmə

Ümumi Xətalar

XətaSəbəbHəll
origin_mismatchSite Key domeninizlə uyğun gəlmirDomeninizin Backoffice-də qeydiyyatda olduğunu yoxlayın
invalid_site_keySite Key tapılmadı və ya deaktivSite Key-inizi yoxlayın, domenin aktiv olduğundan əmin olun
token_expiredToken 5 dəqiqəlik TTL-i keçdiAvtomatik — SDK yeni token tələb edəcək
Sorğu limiti (429)Çox sorğuToplama tezliyini azaldın

Xətaları Əl ilə İdarə Edin

try {
	const result = await client.collectAndSubmit();
} catch (error) {
	if (error.message.includes('origin_mismatch')) {
		// Site key konfiqurasiya problemi
	} else if (error.message.includes('rate')) {
		// Geri çəkilin və sonra yenidən cəhd edin
	}
}

Toplama Rejimləri

SDK üç toplama rejimini dəstəkləyir:

RejimTəsvirNə Zaman İstifadə Etmək
minimalKiçik əsas siqnallar toplusuSürətli toplama, az sürtünmə ssenariləri
standardGeniş siqnallar toplusuƏksər istifadə halları (standart)
maxTam siqnallar toplusuMaksimum dəqiqlik, yüksək təhlükəsizlik ssenarilər
const client = NoxticaCollector.createClient({
	siteKey: 'pk_prod_...',
	mode: 'max', // və ya 'minimal', 'standard'
});

Qorunan Rejim (KHAN VM)

Botlarla mübarizənin ən çətin tərəfi budur ki, brauzerdə işləyən hər şey, prinsipcə, görünən və redaktə edilə biləndir. Qərarlı bir hücumçu səhifənin kodunu oxuya, nəyin ölçüldüyünü anlaya və gizlicə saxta cavablar qaytara bilər.

KHAN VM bunun xərcini qaldırır. Toplamanı səhifədə oxuna bilən kod kimi açıqda buraxmaq əvəzinə, Noxtica həssas hissəni möhürlənmiş, sandbox-lanmış mühitin içində işlədir. Nəyin ölçüləcəyinə qərar verən məntiq hücumçunun öyrənib yenidən yaza biləcəyi yerdə açıqda durmur, yaratdığı nəticə isə brauzerdən çıxmazdan əvvəl möhürlənir — beləliklə müdaxilə etmək və ya təkrar oynamaq çox daha çətindir.

KHAN VM-in kömək etdiyi şeylər:

  • Müdaxiləyə davamlı nəticələr — qiymətləndirmə göndərilməzdən əvvəl sandbox-un içindəki möhürlənir, beləliklə səhifədəki digər skriptlər onu gizlicə dəyişdirə və ya təkrar oynada bilmir.
  • Tərsinə mühəndislik etmək çətindir — toplama məntiqi brauzer developer alətlərindən oxuna biləcək yerda deyil, mühitin içindədir.
  • Oynatma qoruması — hər nəticə birdəfəlik istifadə üçün və təsdiqlənmişdir, beləliklə ələ keçirilmiş cavab sadəcə yenidən istifadə edilə bilmir.

Dürüst həddlər — nə etmir:

  • Bu, müdaxiləyə davamlılıq xüsusiyyətidir, ucdan-uca şifrələmə deyil.
  • Öz səhifəniz məruz qalıbsa (məsələn, saytlararası skript zəifliyi ilə), həmin səhifədəki bir hücumçu Noxtica-nın gördüyü eyni xam brauzer siqnallarını görə bilər. KHAN VM emal prosesini və nəticəni qoruyur, onun ətrafındakı səhifəni deyil.

KHAN VM server tərəfindən aktivləşdirilir və inteqrasiyanıza heç bir dəyişiklik tələb etmir. Başlaya bilməsə — məsələn, content-security-policy onu blokladığı üçün — Noxtica aşkarlama işləməyə davam etsin deyə daha yüngül toplama formasına keçir, sadəcə müdaxilə qoruması zəifləyir.

Brauzer Dəstəyi

SDK müasir brauzerləri dəstəkləyir:

BrauzerMinimum Versiya
Chrome70+
Firefox65+
Safari12+
Edge79+

Köhnə brauzerlər azaldılmış siqnal dəqiqliyinə malik ola bilər, lakin hələ işləyəcəklər.

Debug Rejimi

Problemləri həll etmək üçün debug loqlamasını aktiv edin:

// SDK yüklənməzdən əvvəl
globalThis.NOXTICA_DEBUG = true;

// Və ya hər müştəri üçün
const client = NoxticaCollector.createClient({
	siteKey: 'pk_prod_...',
	debug: true,
});

// Və ya skript atributu ilə
<script src="..." data-debug></script>;

Debug rejimi loqlar:

  • Toplama prosesi
  • Token lifecycle-i
  • Keş işlənmələri və işlənməmələri
  • Hər hansı xətalar

Qeyd: Debug rejimi istehsalda standart olaraq səssizdir. Açıq şəkildə aktiv edilmədikçə konsol çıxışı görünmür.

Yaddaş Mülahizələri

Brauzer Yaddaşı

SDK nəticələri keşləmək üçün brauzer local storage-indən istifadə edir. Bu əlçatan deyilsə (məsələn, gizli gəzmə rejimində və ya yaddaş deaktiv edilibsə):

  • Aşkarlama hələ işləyir
  • Hər səhifə yükləməsi yeni qiymətləndirmə həyata keçirir
  • Çoxlu tab koordinasiyası azala bilər

SDK cookie-dən istifadə etmir. Lazım olan hər şey brauzer local storage-ında saxlanılır.

Performans Təsiri

İlk Ziyarət

ƏməliyyatTipik Müddət
Token sorğusu50-100ms
Siqnal toplaması200-500ms
Göndərmə50-150ms
Cəmi300-750ms

Toplama asinxron işləyir və səhifə renderini bloklamır.

Sonrakı Ziyarətlər (Keş Vurması)

ƏməliyyatTipik Müddət
Keş yoxlaması<1ms
Ziyarət qeydiyyatı50-100ms
Cəmi50-100ms

Problemlərin Həlli

Barmaq İzi Toplanmadı

  1. Brauzer konsolunda xətaları yoxlayın
  2. Site Key-in domeninizlə tam uyğun olduğunu yoxlayın (https:// daxil)
  3. Domenin Backoffice-də aktiv olduğundan əmin olun
  4. Ətraflı loqlar görmək üçün debug rejimini aktiv edin

”WebAssembly Content Security Policy tərəfindən bloklandı”

Bu xəbərdarlığı brauzer konsolunda görürsünüzsə, səhifənizin content-security-policy-si müdaxiləyə davamlı mühiti (KHAN VM) bloklayır. Aşkarlama daha yüngül rejimdə işləməyə davam edir, lakin ən güclü qorumaya icazə verərək əldə edə bilərsiniz.

Noxtica-nın yüklənib işləməsinə icazə vermək üçün aşağıdakı kod parçasını istifadə edin:

Content-Security-Policy: script-src 'self' 'wasm-unsafe-eval' https://collect.noxtica.com; connect-src 'self' https://collect.noxtica.com

Tam arayış üçün Başlanğıc → Content Security Policy bölməsinə baxın.

Eyni Cihazda Fərqli Cihaz ID-ləri

Bu, aşağıdakı hallarda baş verə bilər:

  • Brauzerin saxlanmış məlumatları silinib
  • Brauzer profili dəyişib
  • Ziyarətçi gizli/inkognito rejimdən istifadə edir
  • Brauzer böyük bir yeniləmədən keçib

Bu gözləniləndir — tanınma cihaz zamanla dəyişdikcə uyğunlaşır.

Toplama Çox Uzun Çəkir

  1. Yavaş API cavabları üçün şəbəkə tabını yoxlayın
  2. Daha sürətli toplama üçün mode: 'minimal' istifadəsini nəzərdən keçirin
  3. SDK-nın async atributu ilə yükləndiğindən əmin olun

Hadisələr Baş Vermir

  1. SDK işləməzdən əvvəl dinlədiyinizdən əmin olun
  2. Auto-init atributlarının düzgün olduğunu yoxlayın
  3. İcranı bloklayan JavaScript xətaları olmadığından əmin olun

Ən Yaxşı Təcrübələr

  1. data-auto-check-once istifadə edin — artıq toplama minimuma endirmək üçün data-auto-collect əvəzinə

  2. SDK-nı asinxron yükləyin — səhifə yükləməsini bloklamaqdan çəkinmək üçün async atributu ilə

  3. Hadisələri dinləyinwindow.noxticaResult-u sorğulamaq əvəzinə

  4. TTL-i lazımsız yerə dəyişdirməyin — standart 7 günlük interval əksər istifadə halları üçün optimallaşdırılmışdır

  5. Xətaları zərif şəkildə idarə edin — toplama uğursuzluğu səhifənizi sındırmamalıdır

Növbəti Addımlar