ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ°
- ΠΠΎΠ΄ΡΠ»ΡΡ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½
ngx_stream_set_module , ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΈΡΠ²ΠΎΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΡΡΠ²ΡΡ {
ΡΠ»ΡΡΠ°ΡΠ΅ 12345;
Π·Π°Π΄Π°ΠΉΡΠ΅ $true 1;
} - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
proxy_cookie_flags Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ Π·Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ Π² ΠΏΡΠΎΠΊΡΠΈ Π²ΡΡΠ·ΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ»Π°Π³Π° βhttponlyβ ΠΊΡΠΌ Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠ°ΡΠ° βoneβ ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ βnosecureβ ΠΈ βsamesite=strictβ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ:proxy_cookie_flags Π΅Π΄ΠΈΠ½ httponly;
proxy_cookie_flags ~ nosecure samesite=ΡΡΡΠΎΠ³; - ΠΠΎΠ΄ΠΎΠ±Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
userid_flags Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ ΠΊΡΠΌ Cookie ΡΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π·Π° ΠΌΠΎΠ΄ΡΠ»Π° ngx_http_userid.
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠΈΡΡΠΈ Π² ΡΠΈΡΠ»Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ β1_000β).
- ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈ Π»ΠΈΠΏΡΠ²Π°ΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° %TypedArray%.prototype: every(), filter(), find(), findIndex(), forEach(), includes(), indexOf(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), some().
- ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈ Π»ΠΈΠΏΡΠ²Π°ΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° %TypedArray%: from(), of().
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ DataView ΠΎΠ±Π΅ΠΊΡ.
: >> (Π½ΠΎΠ² DataView(buf.buffer)).getUint16()
: 32974 - Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΎΠ±Π΅ΠΊΡ Buffer.
: >> var buf = Buffer.from([0x80,206,177,206,178])
: Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½
: >> buf.slice(1).toString()
: 'Ξ±Ξ²'
: >> buf.toString('base64')
: 'gM6xzrI=' - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡ Buffer ΠΊΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ "crypto" ΠΈ "fs" ΠΈ Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ, ΡΠ΅ fs.readFile(), Hash.prototype.digest() ΠΈ Hmac.prototype.digest() Π²ΡΡΡΠ°Ρ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΎΠ±Π΅ΠΊΡΠ° Buffer.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ArrayBuffer Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° TextDecoder.prototype.decode().
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru