Skip to content
No results
  • A JSBlogról
JSBlog
  • Winben blogja
  • CSS
  • Git
  • HTTP
  • Node.js
  • Teljesítmény
  • Web API-k
  • Webbiztonság
JSBlog
  • Webbiztonság

A TLS 1.3 0-RTT ára: egy GET kérés is veszélyes lehet

TLS 1.3 0-RTT kapcsolat: a kliens korai HTTP-kérése két edge szerver felé ismétlődhet

A TLS 1.3 0-RTT megspórolhat egy hálózati kört a visszatérő látogatóknál. Cserébe az első HTTP-kérés ismételhető: ezért a GET sem automatikusan biztonságos.

  • winben
  • 2026.08.11.
  • Node.js

A node --run tízszer gyorsabb, mint az npm run – de csendben kihagyja a pre/post szkriptjeidet

Diagram: felül az npm run láncolt pre-teszt-post lépéssora egy lassú piros órával a végén, alul a node --run egyetlen közvetlen lépése gyors zöld órával és sebességvonalakkal.

A Node.js 22 óta natívan is le tudja futtatni a package.json szkriptjeit, npm nélkül, és ez mérhetően gyorsabb. A trükk az, hogy amit kihagy belőle, azt csendben hagyja ki.

  • winben
  • 2026.08.08.
  • Git

A force-with-lease védelmét egy háttérben futó fetch kijátszhatja

Git commitgráf, amelyen egy háttérben futó fetch frissíti a követő refet, majd a force-with-lease felülír egy távoli commitot

A force-with-lease opció nem feltétlenül állítja meg más commitjának felülírását: egy IDE háttérben futó fetch-e észrevétlenül érvényesítheti a lease-t. Itt a reprodukció és a valóban biztonságos Git-parancs.

  • winben
  • 2026.08.07.
  • Teljesítmény

A Speculation Rules API: a böngésző már betölti a következő oldalt, mielőtt rákattintanál

Diagram: böngészőablak egy linkre mutató kurzorral, mellette áttetsző, szaggatott vonallal összekötött szellem-ablak, amely a láthatatlanul előre renderelt oldalt jelképezi, jobbra pedig egy lezárt lakattal blokkolt változat egy érzékeny végpont felé

A Chrome hover közben teljes oldalakat renderel le előre a Speculation Rules API-val – és van egy beállítási szint, ami évekig nem csinálta azt, amit a neve ígért.

  • winben
  • 2026.08.03.
  • Webbiztonság

Nem minden harmadik feles cookie követ: így működik a CHIPS

Partícionált cookie-k: egy külső widget különálló állapotot tart fenn két külön webhelyen

A Partitioned cookie-attribútum külön állapotot ad minden beágyazó webhelynek. Chat- és térképwidgeteknél hasznos, központi SSO-sessionre viszont nem való.

  • winben
  • 2026.08.01.
  • Docker

A build-arg nem tűnik el: így marad benne a titkos kulcs egy Docker image rétegeiben

Diagram: egy kulcs a felső, ARG/ENV-alapú soron benn marad az image rétegeiben és kiszivárog a nyilvános registrybe, míg az alsó, secret mountos soron a kulcs csak a build közben létezik, az image lezárt lakattal érkezik meg

Az ARG-ba vagy ENV-be tett API-token, npm-jelszó vagy AWS-kulcs nem tűnik el a buildel együtt: ott marad a docker history-ban, és publikus GitHub Actions build esetén a provenance attesztációban is. A BuildKit secret mount ezt oldja meg – hands-on kipróbálva, docker history-val és exportált réteggel is ellenőrizve.

  • winben
  • 2026.07.30.
  • Web API-k

A fetch kéréstörzs-streamelése: miért csak fél duplex?

Böngészőből szerver felé haladó, több részletből álló adatfolyam sematikus ábrája

A ReadableStream-es fetch feltöltés csökkentheti a kliens memóriaigényét, de a fél-duplex működés, a CORS és a proxyk miatt nem általános feltöltési megoldás.

  • winben
  • 2026.07.25.
  • Webbiztonság

COOP és COEP: a két fejléc, ami miatt eltűnhet a bejelentkeztető popup ablak

Diagram: egy dokumentum COOP és COEP fejléccel elzárja a window.opener kapcsolatot és a jelöletlen cross-origin erőforrásokat, cserébe hozzáférést kap a SharedArrayBufferhez

A SharedArrayBuffer visszatért, de csak cross-origin isolated oldalakon fut. A COOP és a COEP fejléc pontosan ezt adja meg – cserébe elszakíthatja a window.opener kapcsolatot és blokkolhatja a be nem jelentkezett cross-origin erőforrásokat.

  • winben
  • 2026.07.23.
  • CSS

Csendes scroll-kompenzáció: így működik a böngésző scroll anchoringja

Üzenetlista, amelynél a felül beszúrt elemek után a görgetési pozíció kompenzálva marad

Az overflow-anchor többnyire megakadályozza a zavaró ugrásokat, saját chat- és végtelen listánál viszont összeakadhat a kézi scrollTop-kezeléssel.

  • winben
  • 2026.07.22.
  • Adatbázis

A PgBouncer tranzakciós pooling módja csendben átadja a session-állapotot a következő kliensnek

Diagram: két kliens, egy közös PgBouncer kapcsolatpool és egy Postgres-adatbázis – az egyik kapcsolat-foglalat állapota (sárga pont) a szaggatott piros nyíllal a másik, független klienshez kerül át.

A PgBouncer transaction pooling módja gyorsabb, mert a szerveroldali kapcsolat tranzakciónként cserélődik – de emiatt a SET, az advisory lock és a LISTEN/NOTIFY is átszivárogtathat egy teljesen másik kliensre. Hands-on demóval bizonyítva.

  • winben
  • 2026.07.19.
  • Teljesítmény

A Server-Timing: így kerül a backend ideje a böngésző DevToolsába

Diagram: böngésző, alkalmazásszerver és adatbázis között futó kérés, amelynek adatbázis-, renderelési- és teljes alkalmazásidejét a válasz fejlécében idővonal jelzi

A Server-Timing válaszfejléccel a cache, adatbázis és renderelés ideje közvetlenül a böngésző hálózati adatai mellé kerül.

  • winben
  • 2026.07.16.
  • JavaScript

Nem minden .map() ugyanaz: az Iterator helperek lustán dolgoznak a JavaScriptben

Diagram: felül a klasszikus tömbmetódusok minden lépésben teljes köztes tömböt hoznak létre, alul az Iterator helperek egy vékony csövön, elemenként, tárolás nélkül dolgoznak

Az Iterator.prototype 2025 óta saját map/filter/take metódusokkal rendelkezik, ami a klasszikus tömbmetódusoktól eltérően lusta kiértékeléssel, köztes tömb nélkül dolgozik – akár végtelen generátorokon is.

  • winben
  • 2026.07.14.
  • HTTP

Az Idempotency-Key: hogyan ne hozz létre kétszer fizetést egy hibás retry miatt

Böngészőből érkező ismételt kérések, idempotenciakulcs-tároló és API-szerver sematikus ábrája

A hálózati hiba nem jelenti azt, hogy a POST nem futott le. Az Idempotency-Key-vel a retry nem hoz létre második fizetést, rendelést vagy webhook-eseményt.

  • winben
  • 2026.07.11.
  • Node.js

A Node.js permission modell stabil, a hálózatot viszont még nem korlátozza

Diagram: egy központi hatszögletű Node.js mag öt erőforrás-csomópontba kapcsolódik – fájlrendszer, hálózat, child process, worker threads, natív addon –, mindegyiken lakat jelzéssel. Négyen zárt zöld lakat látható (korlátozva a permission modell által), a hálózatnál nyitott narancssárga lakat (nem korlátozva).

A --permission flag 2023 vége óta stabil a Node.js-ben, és tényleg megállítja a véletlen fájlrendszer-hozzáférést. De a node:sqlite simán megkerüli, és a hálózati tiltás (--allow-net) a jelenlegi LTS-eken egyszerűen nem létezik – csak a v25/v26-ban jelent meg, Active development státusszal.

  • winben
  • 2026.07.10.
  • Teljesítmény

A fetchpriority nem turbógomb: így gyorsítsd az LCP-képet

Böngészőből induló hálózati erőforrások között kiemelt, elsőbbséget kapó fő kép sematikus ábrája

A fetchpriority finom jelzés a böngészőnek: az LCP-képnek adhat előnyt, de csak akkor segít, ha a valódi szűk keresztmetszet a letöltési prioritás.

  • winben
  • 2026.07.07.
  • CSS

A CSS @property: amikor a custom property többé nem csak egy string

Diagram, amely egy szaggatott, ugrásszerű színátmenetű sávot mutat felül, alatta pedig ugyanaz a színátmenet simán, folyamatosan interpolálva, közéjük rajzolt nyíllal jelezve az átalakulást.

A CSS custom property-k alapból szövegként viselkednek, ezért nem animálhatók – a @property at-rule típust, alapértéket és öröklődési szabályt ad hozzájuk, így végre simán animálható egy gradiens megállója vagy egy szög is.

  • winben
  • 2026.07.06.
  • Web API-k

Az URLPattern: routing reguláris kifejezés-labirintus nélkül

URL-összetevőket mintákhoz és paraméterekhez kapcsoló sematikus ábra

A URLPattern API-val a böngésző natívan tud URL-eket komponensenként illeszteni és elnevezett paramétereket kiolvasni. Megmutatjuk, mikor tisztább a regexnél, és miért nem query parser.

  • winben
  • 2026.07.05.
  • Git

A git rerere: nem kell kétszer megoldanod ugyanazt a merge-konfliktust

Diagram: a git rerere folyamata — az első rebase-nél kézzel feloldott konfliktus a .git/rr-cache alá kerül preimage és postimage formájában, majd egy későbbi, azonos konfliktust dobó rebase-nél a git automatikusan visszaadja ezt a megoldást.

A git rerere megjegyzi, hogyan oldottál fel egy merge- vagy rebase-konfliktust, és legközelebb, ha ugyanaz a hunk jön elő, automatikusan visszaadja a megoldást. 2006 óta ott van minden git telepítésben, csak alapból ki van kapcsolva.

  • winben
  • 2026.07.04.
  • HTTP

Vary: a fejléc, ami megmondja a CDN-nek, mikor nem ugyanaz a válasz

Két Accept-Language értékhez két külön CDN cache-kulcs és nyelvi válasz tartozik

A Vary nem a cache lejáratát, hanem a cache-kulcsot módosítja. Megmutatjuk, miért kell az Accept-Language mellé, és miért hibás a Vary: Cookie.

  • winben
  • 2026.07.01.
  • Webbiztonság

A polyfill.io feltörése után is kevesen használják: Subresource Integrity CDN-ekhez

Diagram: a CDN-ről érkező script tartalma egy hash-ellenőrző kapun megy át – ha a hash egyezik, a böngésző lefuttatja a scriptet, ha nem egyezik (pirossal jelölve), a betöltés blokkolva marad.

Amikor 2024-ben feltörték a polyfill.io CDN-t, több mint 100 000 oldal futtatott rosszindulatú kódot – anélkül, hogy egyetlen saját sort is módosítottak volna. A Subresource Integrity attribútum pont ez ellen véd egy egyszerű hash-ellenőrzéssel, mégis kevesen kapcsolják be.

  • winben
  • 2026.06.29.
1 2 3
Next
Copyright © 2026 - WordPress Theme by CreativeThemes