
hikmettanandClaude Opus 5
9c142fa0f8
feat: EKAP imzalama anahtari rotasyona girince kendini toparlasin
Anahtar sabit kodluydu (EKAP_R8FACT_KEY ile gecilebiliyordu). EKAP anahtari
donemsel degistiriyor; degistigi anda ihale havuzu tamamen karariyor ve birinin
elle yeni anahtari bulup env'e yazmasi gerekiyordu.
Artik kimlik dogrulama hatasindan sonra anahtar portalin kendi paketinden
kesfediliyor. Zincir canli EKAP'ta dogrulandi:
/ekap/search → <script src="main.<hash>.js">
main.<hash>.js → webpack chunk haritasi; 2076 ozel olarak "common" adiyla
yayimlaniyor: y=>(2076===y?"common":y)+"."+{...}
common.<hash>.js → r8fact:"<32 baytlik anahtar>"
Kesfedilen deger su anki sabit anahtarla birebir ayni cikti — zincir dogru.
- Kesif YALNIZCA yedek: normalde sabit/env anahtar kullanilir, kesif ancak
401/403/5xx sonrasi ve istek basina BIR KEZ denenir (gercek sunucu hatasinda
her denemede portalden uc dosya indirmeyelim)
- 5xx de tetikliyor: EKAP gecersiz anahtari bazen 401, bazen 500 ile bildiriyor
(imza cozulemeyince sifre cozme katmani patliyor); yalnizca 401'e bakmak
rotasyonun yarisini kacirirdi
- Basari 1 sa, basarisizlik 5 dk onbellekleniyor
- Anahtar 32 bayt degilse kullanilmiyor — sema degismis demektir, korlemesine
denemek yerine mevcut anahtarla devam edilir
- SPA fallback tuzagi: bilinmeyen yol HTTP 200 + index.html donduruyor; JS
beklenen isteklerde HTML gelirse hata veriliyor (sessiz basarisizlik olmasin)
Sahte rotasyon testi: bozuk anahtarla EKAP 500 dondu → kesif devreye girdi →
dogru anahtar bulundu → tekrar denendi → arama basarili (860 ms).
Bulgu kaynagi: saidsurucu/ihale-mcp taramasinda gorulen imza semasi ve
firatbadur/ihaletakip-api'nin belgeledigi rotasyon davranisi. Ilgili depo
lisanssiz oldugu icin kod kopyalanmadi, uygulama sifirdan yazildi.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-03 20:04:11 +03:00
..
2026-08-31 14:53:46 +03:00
2026-08-28 00:43:08 +03:00
2026-08-29 21:47:58 +03:00
2026-08-30 14:00:56 +03:00
2026-08-28 22:31:40 +03:00
2026-08-30 17:58:26 +03:00
2026-08-30 14:07:29 +03:00
2026-09-03 20:04:11 +03:00
2026-08-28 22:31:40 +03:00
2026-09-03 20:04:11 +03:00
2026-08-28 22:57:58 +03:00
2026-08-29 21:47:58 +03:00
2026-08-26 20:45:02 +03:00
2026-08-30 17:58:26 +03:00
2026-08-26 20:45:02 +03:00
2026-09-03 12:55:36 +03:00
2026-09-03 11:51:39 +03:00
2026-09-03 11:51:39 +03:00
2026-08-28 10:37:50 +03:00
2026-08-29 10:19:44 +03:00
2026-08-29 10:19:44 +03:00
2026-08-31 14:53:46 +03:00
2026-08-30 13:20:28 +03:00
2026-08-30 14:00:56 +03:00
2026-08-29 10:19:44 +03:00
2026-08-28 10:37:50 +03:00
2026-08-29 02:40:22 +03:00
2026-08-30 14:07:29 +03:00