ΠΡΠ½ΠΎΠ²Π½ΡΠ΅
- Π ΡΠΎΡΡΠ°Π² Π²ΠΊΠ»ΡΡΡΠ½ ΠΌΠΎΠ΄ΡΠ»Ρ
ngx_stream_set_module , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉserver {
listen 12345;
set $true 1;
} - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
proxy_cookie_flags Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ»Π°Π³ΠΎΠ² Π΄Π»Ρ Cookie Π² ΠΏΡΠΎΠΊΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊ Cookie «one» ΡΠ»Π°Π³Π° «httponly», Π° Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Cookie ΡΠ»Π°Π³ΠΎΠ² «nosecure» ΠΈ «samesite=strict» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ:proxy_cookie_flags one httponly;
proxy_cookie_flags ~ nosecure samesite=strict; - ΠΠΎΡ
ΠΎΠΆΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
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.
: >> (new DataView(buf.buffer)).getUint16()
: 32974 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠ±ΡΠ΅ΠΊΡ Buffer.
: >> var buf = Buffer.from([0x80,206,177,206,178])
: undefined
: >> buf.slice(1).toString()
: ‘αβ’
: >> buf.toString(‘base64’)
: ‘gM6xzrI=’ - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Buffer Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² ΠΌΠ΅ΡΠΎΠ΄Ρ «crypto» ΠΈ «fs», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Buffer Π² fs.readFile(), Hash.prototype.digest() ΠΈ Hmac.prototype.digest().
- Π ΠΌΠ΅ΡΠΎΠ΄Π΅ TextDecoder.prototype.decode() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ArrayBuffer.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru