ΠΠΎΡΡΠΈ 9 Π»Π΅Ρ Π½Π°Π·Π°Π΄ Cloudflare Π±ΡΠ»Π° ΠΊΡΠΎΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ, Π° Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π» Π² Π½Π΅ΠΉ, Π±ΡΠ» ΠΏΡΠΎΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. Π§Π΅ΡΠ΅Π· ΠΌΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Cloudflare Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΠ°ΠΉΡΠΈΠΊΠ΅
Π― ΡΡΠ°Π·Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΠΡΡΡΡ ΠΡΠΈΠ½ΡΡ (Matthew Prince), ΠΎΠ·Π°Π³Π»Π°Π²ΠΈΠ² ΠΏΠΈΡΡΠΌΠΎ Β«ΠΠ΄Π΅ ΠΌΠΎΠΉ DNS?Β», Π° ΠΎΠ½ ΠΏΡΠΈΡΠ»Π°Π» Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ, ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ (
ΠΡ: ΠΠΆΠΎΠ½ ΠΡΡΡ ΡΠΌ-ΠΠ°ΠΌΠΌΠΈΠ½Π³
ΠΠ°ΡΠ°: 7 ΠΎΠΊΡΡΠ±ΡΡ 2010 Π³ΠΎΠ΄Π°, 9:14
Π’Π΅ΠΌΠ°: Re: ΠΠ΄Π΅ ΠΌΠΎΠΉ DNS?
ΠΠΎΠΌΡ: ΠΡΡΡΡ ΠΡΠΈΠ½ΡΠΠ»Π°ΡΡΠ½ΡΠΉ ΠΎΡΡΠ΅Ρ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ. Π― ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ½Ρ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΡΠΎΠΈΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ±Π΅ΡΠ΅ΡΠ΅ Π²ΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΡ. ΠΡΠΌΠ°Ρ, Π»ΡΠ΄ΡΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΈ ΡΠ΅ΡΡΠ½ΡΠΉ ΡΠ°ΡΡΠΊΠ°Π·. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π³ΡΠ°ΡΠΈΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ Π²ΡΡΠΎΡ ΡΡΠ°ΡΠΈΠΊ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ°.
Π£ ΠΌΠ΅Π½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΠΈ ΠΌΠ½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ SMS ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ±ΠΎΠ΅. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ±ΠΎΠΉ Π±ΡΠ» Ρ 13:03:07 Π΄ΠΎ 14:04:12. Π’Π΅ΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ ΠΏΡΡΡ ΠΌΠΈΠ½ΡΡ.
Π£Π²Π΅ΡΠ΅Π½, Π²Ρ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ΡΡ. ΠΠ°ΠΌ ΡΠΎΡΠ½ΠΎ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΡΠ²ΠΎΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π² ΠΠ²ΡΠΎΠΏΠ΅? π
Π ΠΎΠ½ ΠΎΡΠ²Π΅ΡΠΈΠ»:
ΠΡ: ΠΡΡΡΡ ΠΡΠΈΠ½Ρ
ΠΠ°ΡΠ°: 7 ΠΎΠΊΡΡΠ±ΡΡ 2010 Π³ΠΎΠ΄Π°, 9:57
Π’Π΅ΠΌΠ°: Re: ΠΠ΄Π΅ ΠΌΠΎΠΉ DNS?
ΠΠΎΠΌΡ: ΠΠΆΠΎΠ½ ΠΡΡΡ ΡΠΌ-ΠΠ°ΠΌΠΌΠΈΠ½Π³Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ. ΠΡ ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π». Π― ΡΠ΅ΠΉΡΠ°Ρ Π΅Π΄Ρ Π² ΠΎΡΠΈΡ, ΠΈ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π² Π±Π»ΠΎΠ³Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠΌ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ Π½Π° Π½Π°ΡΠ΅ΠΉ Π΄ΠΎΡΠΊΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ. ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½, ΡΠ΅ΡΡΠ½ΠΎΡΡΡ β Π½Π°ΡΠ΅ Π²ΡΠ΅.
Π‘Π΅ΠΉΡΠ°Ρ Cloudflare β ΡΠ΅Π°Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π² Π½Π΅ΠΉ, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠ½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠΊΡΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΎ Π½Π°ΡΠ΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅, Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΡ ΠΈ Π½Π°ΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ .
Π‘ΠΎΠ±ΡΡΠΈΡ 2 ΠΈΡΠ»Ρ
2 ΠΈΡΠ»Ρ ΠΌΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΠ»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
Π΄Π»Ρ WAF, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ³Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»ΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ°ΡΠΈΠ»ΠΎ Π½Π° Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ Π΄Π»Ρ HTTP/HTTPS. ΠΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠ°Π΄Π°Π»ΠΈ Π½Π°ΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠΊΡΠΈ, CDN ΠΈ WAF. ΠΠ° Π³ΡΠ°ΡΠΈΠΊΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ° HTTP/HTTPS Π΄ΠΎΡ ΠΎΠ΄ΡΡ ΠΏΠΎΡΡΠΈ Π΄ΠΎ 100% Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Π² Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΎΡΠ΅ΠΊ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°
Π ΠΈΡΠΎΠ³Π΅ Π½Π°ΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ (ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π½Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²) ΡΠΏΠΈΡΠ°Π»ΠΈΡΡ Π² ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ 502 Π² Π΄ΠΎΠΌΠ΅Π½Π°Ρ Cloudflare. ΠΡΠΈΠ±ΠΊΠΈ 502 Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΡΡΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Cloudflare, Ρ ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΡΠ΄ΡΠ°, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΡΠ²ΡΠ·Π°ΡΡΡΡ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΌΠΈ ΡΡΠ°ΡΠΈΠΊ HTTP/HTTPS.
ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ² ΡΡΠΎ Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΎ Π½Π°ΡΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ. ΠΠ°ΠΌ ΡΠΆΠ°ΡΠ½ΠΎ ΡΡΡΠ΄Π½ΠΎ. Π ΡΡΠΎΡ ΡΠ±ΠΎΠΉ ΠΌΠ΅ΡΠ°Π» Π½Π°ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠΌ.
ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ»ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π²Π°Ρ ΡΡΠΎ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π½Π°ΠΏΡΠ³Π°Π»ΠΎ, ΡΠ°ΡΡΠ΅ΡΠ΄ΠΈΠ»ΠΎ ΠΈ ΡΠ°ΡΡΡΡΠΎΠΈΠ»ΠΎ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Ρ Π½Π°Ρ ΡΠΆΠ΅ 6 Π»Π΅Ρ Π½Π΅ Π±ΡΠ»ΠΎ (?:(?:"|'|]|}||d|(?:nan|infinity|true|false|null|undefined|symbol|math)|`|-|+)+[)]*;?((?:s|-|~|!|{}||||+)*.*(?:.*=.*)))
Π₯ΠΎΡΡ ΠΎΠ½ΠΎ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ (ΠΈ Π½ΠΈΠΆΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π½Π΅ΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅), ΡΠ΅ΡΠ²ΠΈΡ Cloudflare ΠΎΡΡΡΠ±ΠΈΠ»ΡΡ Π½Π° 27 ΠΌΠΈΠ½ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·-Π·Π° Π½Π΅Π³ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ ΡΠ±ΠΎΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΈ ΠΌΡ Π½Π΅Π±ΡΡΡΡΠΎ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΏΠΎΡΡΠ° Ρ ΠΎΠΏΠΈΡΡ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³ Π² ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΡΡΠΎ Ρ ΡΡΠΈΠΌ Π΄Π΅Π»Π°ΡΡ.
Π§ΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ
ΠΠ°ΡΠ½Π΅ΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ. ΠΡΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π΄Π΅ΡΡ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² UTC.
Π 13:42 ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠ΅ΠΉΡΡ ΠΌΠ΅ΠΆΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΡΠΊΡΠ°Π½Π°ΠΌΠΈ, Π²Π½Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ
Π§Π΅ΡΠ΅Π· 3 ΠΌΠΈΠ½ΡΡΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° PagerDuty, ΡΠΎΠΎΠ±ΡΠ°Π²ΡΠ°Ρ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Ρ WAF. ΠΡΠΎ Π±ΡΠ» ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ WAF (Ρ Π½Π°Ρ ΡΠ°ΠΊΠΈΡ ΡΠΎΡΠ½ΠΈ) Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Cloudflare, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΡΠ΅ΠΌ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎ ΡΠ±ΠΎΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΊΠ²ΠΎΠ·Π½ΡΡ ΡΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Cloudflare, Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ Ρ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ, ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°Ρ 502, ΠΈ ΠΊΡΡΠ° ΠΎΡΡΠ΅ΡΠΎΠ² ΠΈΠ· Π½Π°ΡΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ (PoP) Π² Π³ΠΎΡΠΎΠ΄Π°Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ Π½Π° Π½Π΅Ρ Π²Π°ΡΠΊΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ².
Π― ΠΏΠΎΠ»ΡΡΠΈΠ» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΈΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ, ΡΠΎΡΠ²Π°Π»ΡΡ ΡΠΎ Π²ΡΡΡΠ΅ΡΠΈ ΠΈ ΡΠΆΠ΅ ΡΠ΅Π» ΠΊ ΡΡΠΎΠ»Ρ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΎΡΠ΄Π΅Π»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΌΡ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ 80% ΡΡΠ°ΡΠΈΠΊΠ°. Π― ΠΏΠΎΠ±Π΅ΠΆΠ°Π» ΠΊ Π½Π°ΡΠΈΠΌ SRE-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π°Π΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΠΎΠ΄ΡΠΌΠ°Π»ΠΈ, ΡΡΠΎ ΡΡΠΎ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ Π°ΡΠ°ΠΊΠ°.
SRE-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Cloudflare ΡΠ°Π·Π±ΡΠΎΡΠ°Π½Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΊΡΡΠ³Π»ΠΎΡΡΡΠΎΡΠ½ΠΎ. ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡΡ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π°, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΡΡ Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠ΅ΡΠ°ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· Π·Π° Π΄Π΅Π½Ρ. ΠΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ Π½Π° ΡΡΠΎ-ΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠ΅, ΠΈ SRE-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ ΡΡΠ°Π·Ρ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΡΡΠΈ P0 ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΠΈΡΡ ΠΊ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ.
ΠΠ°ΡΠΈ Π»ΠΎΠ½Π΄ΠΎΠ½ΡΠΊΠΈΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ»ΡΡΠ°Π»ΠΈ Π»Π΅ΠΊΡΠΈΡ Π² Π³Π»Π°Π²Π½ΠΎΠΌ Π·Π°Π»Π΅. ΠΠ΅ΠΊΡΠΈΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΡΠ΅ΡΠ²Π°ΡΡ, Π²ΡΠ΅ ΡΠΎΠ±ΡΠ°Π»ΠΈΡΡ Π² Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½Ρ-Π·Π°Π»Π΅, ΠΏΠΎΠ·Π²Π°Π»ΠΈ Π΅ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ². ΠΡΠΎ Π½Π΅ Π±ΡΠ»Π° ΠΎΠ±ΡΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ SRE ΠΌΠΎΠ³Π»ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΡΠ°ΠΌΠΈ. ΠΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΠΏΠ΅ΡΠΎΠ².
Π 14:00 ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ WAF ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π°ΡΠ°ΠΊΠΈ Π½Π΅Ρ. ΠΡΠ΄Π΅Π» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ·Π²Π»Π΅ΠΊ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ , ΠΈ ΡΡΠ°Π»ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π²ΠΈΠ½ΠΎΠ²Π°Ρ WAF. ΠΡΡΠ³ΠΎΠΉ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ» ΡΡΡ ΡΠ΅ΠΎΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ strace. ΠΡΠ΅ ΠΊΡΠΎ-ΡΠΎ ΡΠ²ΠΈΠ΄Π΅Π» Π² Π»ΠΎΠ³Π°Ρ , ΡΡΠΎ Ρ WAF Π±Π΅Π΄Π°. Π 14:02 Π²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ²ΠΈΠ»Π°ΡΡ ΠΊΠΎ ΠΌΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ global kill β ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Cloudflare, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ.
ΠΠ°ΠΊ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ global kill Π΄Π»Ρ WAF β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ. ΠΡΠ΅ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ, Π° ΡΠ°Π· Π½Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ
Π ΠΌΡ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ ΡΠ²ΠΎΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π²ΡΠΎΠ΄Π΅ Jira ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΡΠΆΠ΅Π½ Π±ΡΠ» ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π½Π΅ΡΠ°ΡΡΠΎ (ΡΡΠΎ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°Π±ΠΎΡΠ°ΡΡ). ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΡΡΠ±ΠΈΡΡ WAF Π² 14:07, Π° Π² 14:09 ΡΡΠΎΠ²Π΅Π½Ρ ΡΡΠ°ΡΠΈΠΊΠ° ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π²Π΅Π·Π΄Π΅ Π²Π΅ΡΠ½ΡΠ»ΡΡ Π² Π½ΠΎΡΠΌΡ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π°ΡΠΈΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Cloudflare ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π² ΡΡΠ°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π·Π°Π½ΡΠ»ΠΈΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΡ WAF. Π‘ΠΈΡΡΠ°ΡΠΈΡ Π±ΡΠ»Π° ΠΈΠ· ΡΡΠ΄Π° Π²ΠΎΠ½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΡΡ (ΡΠΏΡΠΎΡΠΈΠ² ΡΠ΅Π±Ρ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ) ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π½ΡΠ΅ (ΡΠ±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ ΠΎΡΠΊΠ°Ρ ΡΡΠ°Π±ΠΎΡΠ°Π») Π² ΠΎΠ΄Π½ΠΎΠΌ Π³ΠΎΡΠΎΠ΄Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°, ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡ ΠΎΡΡΡΠ΄Π° ΠΏΠ»Π°ΡΠ½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
Π 14:52 ΠΌΡ ΡΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡ, ΡΡΠΎ ΠΏΠΎΠ½ΡΠ»ΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΈ Π²Π½Π΅ΡΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ WAF.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Cloudflare
Π Cloudflare Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ Π΄Π»Ρ WAF. ΠΠ½ΠΈ ΡΡΠ°ΡΠ°ΡΡΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠΆΠ½ΠΎΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈ Π±ΡΡΡΡΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΡΠ³ΡΠΎΠ·Ρ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ. ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 60 Π΄Π½Π΅ΠΉ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ 476 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΏΡΠ°Π²ΠΈΠ» Π΄Π»Ρ WAF (Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 3 ΡΠ°ΡΠ°).
ΠΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ, Π³Π΄Π΅ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΡΠ°ΡΠΈΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈ Π»ΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΠΎ Π΄Π°ΠΆΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π° Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»ΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ²ΡΠ΅Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΠ΅, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠ»Π°Π½ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ, ΠΏΠ»Π°Π½ ΠΎΡΠΊΠ°ΡΠ° ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ (SOP) Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ. SOP Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ. ΠΠΎΠΎΠ±ΡΠ΅-ΡΠΎ Π² Cloudflare Π²ΡΠ΅ ΡΡΡΡΠΎΠ΅Π½ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΈΠ½Π°ΡΠ΅, ΠΈ SOP ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΠ Π½Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ (PoP) (ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π°ΡΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ), ΠΏΠΎΡΠΎΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, ΠΏΠΎΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΠΈΡΠ»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ.
ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ git Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΅ΡΠ΅Π· BitBucket. ΠΠ½ΠΆΠ΅Π½Π΅ΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π½Π°Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Π² TeamCity, ΠΈ ΠΊΠΎΠ³Π΄Π° ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ, Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ ΡΠ΅Π²ΡΡΠ΅ΡΡ. ΠΠΎΠ³Π΄Π° ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡ ΠΎΠ΄ΠΎΠ±ΡΡΠ΅ΡΡΡ, ΠΊΠΎΠ΄ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ΄ ΡΠ΅ΡΡΠΎΠ² (Π΅ΡΠ΅ ΡΠ°Π·).
ΠΡΠ»ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΡ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Jira, ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ΄ΠΎΠ±ΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π²Π΅Π΄ΡΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ. ΠΠΎΡΠ»Π΅ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Β«PoP-Π·Π²Π΅ΡΠΈΠ½Π΅ΡΒ»: DOG, PIG ΠΈ
DOG PoP β ΡΡΠΎ Cloudflare PoP (ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ· Π½Π°ΡΠΈΡ Π³ΠΎΡΠΎΠ΄ΠΎΠ²), ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ Cloudflare. PoP Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ»ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ½Π΅Ρ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². ΠΠΎΠ»Π΅Π·Π½Π°Ρ ΡΡΡΠΊΠ°.
ΠΡΠ»ΠΈ DOG-ΡΠ΅ΡΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ Π½Π° ΡΡΠ°Π΄ΠΈΡ PIG (ΠΏΠΎΠ΄ΠΎΠΏΡΡΠ½Π°Ρ ΡΠ²ΠΈΠ½ΠΊΠ°). ΠΡΠΎ Cloudflare PoP, Π³Π΄Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΡΡΠ°ΡΠΈΠΊΠ° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄.
ΠΡΠ»ΠΈ Π²ΡΠ΅ Ρ
ΠΎΡΠΎΡΠΎ, ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ Π² Canary. Π£ Π½Π°Ρ ΡΡΠΈ Canary PoP Π² ΡΠ°Π·Π½ΡΡ
ΡΠΎΡΠΊΠ°Ρ
ΠΌΠΈΡΠ°. Π Π½ΠΈΡ
ΡΠ΅ΡΠ΅Π· Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΏΠ»Π°ΡΠ½ΡΡ
ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΈ ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΎΡΠ΅ΡΡ ΡΠ΅Π»ΠΈΠ·Π° ΠΠ Π² Cloudflare
ΠΡΠ»ΠΈ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π² Canary, ΠΌΡ Π΅Π³ΠΎ Π²ΡΠΏΡΡΠΊΠ°Π΅ΠΌ. ΠΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Π²ΡΠ΅ ΡΡΠ°Π΄ΠΈΠΈ β DOG, PIG, Canary, Π²Π΅ΡΡ ΠΌΠΈΡ β Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π½Π΅ΠΉ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΡΠ΅ΡΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Cloudflare ΠΌΡ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΡΠ΅Π»ΠΈΠ·ΠΎΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². ΠΠΎ WAF ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π° ΡΠ³ΡΠΎΠ·Ρ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π±ΡΡΡΡΠΎ.
Π£Π³ΡΠΎΠ·Ρ WAF
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π² ΠΎΠ±ΡΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
ΡΠ³ΡΠΎΠ· ΡΡΠ°Π»ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΌΡ ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΠΎ
ΠΡΡΠΎΡΠ½ΠΈΠΊ:
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈ ΡΡΡ ΠΆΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΡΡΡ Π½Π° Github, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠ³Π»ΠΈ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΎ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎ Π·Π°ΡΠΈΡΠ΅Π½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ Cloudflare Π½ΡΠΆΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½ΠΎΠ²ΡΠ΅ Π°ΡΠ°ΠΊΠΈ, ΡΡΠΎΠ±Ρ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠ΅ ΠΠ.
ΠΡΠ»ΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ ΠΎΡ Cloudflare β ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ² Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ SharePoint Π² ΠΌΠ°Π΅ (
ΠΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² ΡΠ΅ΡΠ²Π΅ΡΠ³ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΡΠΈΡΠ°ΡΡ ΠΎΡ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π° (XSS). Π’Π°ΠΊΠΈΡ Π°ΡΠ°ΠΊ ΡΠΎΠΆΠ΅ ΡΡΠ°Π»ΠΎ ΠΊΡΠ΄Π° Π±ΠΎΠ»ΡΡΠ΅ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ:
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ WAF ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ (CI) Π΄ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ. Π ΠΏΡΠΎΡΠ»ΡΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ³ ΠΌΡ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°. Π 13:31 ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ.
Π 13:37 TeamCity ΡΠΎΠ±ΡΠ°Π» ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΏΡΠΎΠ³Π½Π°Π» ΡΠ΅ΡΡΡ ΠΈ Π΄Π°Π» Π΄ΠΎΠ±ΡΠΎ. ΠΠ°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ WAF ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» WAF ΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΎΡΠ»Π΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ WAF Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ². HTTP-Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡΡΡ WAF (ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ Π°ΡΠ°ΠΊΡ), Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ (ΡΡΠΎΠ±Ρ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ΄ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»ΠΎΠΆΠ½ΠΎΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²). ΠΠΎ ΠΌΡ Π½Π΅ ΠΏΡΠΎΠ²Π΅Π»ΠΈ ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠ±ΠΎΡΠΎΠΊ WAF ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ² Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΎΡΡ, ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΡ, ΡΡΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π΅ Ρ Π²Π°ΡΠΈΡ.
Π’Π΅ΡΡΡ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠΉΠ΄Π΅Π½Ρ, ΠΈ TeamCity Π½Π°ΡΠ°Π» Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² 13:42.
Quicksilver
ΠΡΠ°Π²ΠΈΠ»Π° WAF Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΡΡΠΎΡΠ½ΠΎΠ΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ³ΡΠΎΠ·, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅ΠΌ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΏΠ°Ρ Β«ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β» Quicksilver, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠ΅ Π½Π°ΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· API, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΅ΠΉ ΠΌΡ ΠΌΠΎΠ»Π½ΠΈΠ΅Π½ΠΎΡΠ½ΠΎ ΡΠ΅Π°Π³ΠΈΡΡΠ΅ΠΌ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡ ΠΌΠ°Π»ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ Quicksilver. Π Π°Π½ΡΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ
ΠΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈΠ»ΠΈ Π²ΡΠ·ΠΎΠ²Π° API Π΄ΠΎ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄. ΠΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΏΠΎΠ»ΡΠ±ΠΈΠ»Π°ΡΡ ΡΡΠ° ΡΠΊΠΎΡΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. Π Workers ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΈΠΌ ΠΏΠΎΡΡΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΠ. Π ΡΡΠ΅Π΄Π½Π΅ΠΌ Quicksilver ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 350 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
Π Quicksilver ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ. Π ΡΡΠ΅Π΄Π½Π΅ΠΌ ΠΌΡ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ 99-Π³ΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠΈΠ»Ρ 2,29 Ρ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ β ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ. ΠΠ΅Π΄Ρ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΡΠΈΡΡΠΈΡΠ΅ ΠΊΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΡΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΏΠΎΠ²ΡΡΠ΄Ρ. ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΊΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· Cloudflare Workers ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΊΠΎΡΠΎΡΡΡΡ. Cloudflare ΠΎΠ±Π΅ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ Π±ΡΡΡΡΡΠ΅ Π°ΠΏΠ΄Π΅ΠΉΡΡ Π² Π½ΡΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΊΠΎΡΠΎΡΡΡ ΡΡΠ³ΡΠ°Π»Π° Ρ Π½Π°ΠΌΠΈ Π·Π»ΡΡ ΡΡΡΠΊΡ, ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΊΠΎΠ΄ WAF ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Lua. Cloudflare ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Lua Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ
ΠΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π²ΡΠ΅ ΡΠ»ΠΎ Π³Π»Π°Π΄ΠΊΠΎ: ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΈ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½, ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ CI/CD ΡΠΎΠ±ΡΠ°Π» ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π» ΠΊΠΎΠ΄, Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ» ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ SOP, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π³ΡΠ»ΠΈΡΡΠ΅Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΊΠ°Ρ, ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ.
ΠΡΠΎΡΠ΅ΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ WAF Π² Cloudflare
Π§ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», ΠΌΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π½Π΅Π΄Π΅Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅ΠΌ Π΄Π΅ΡΡΡΠΊΠΈ Π½ΠΎΠ²ΡΡ
ΠΏΡΠ°Π²ΠΈΠ» WAF, ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌ Π·Π°ΡΠΈΡΡ ΠΎΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΡΡ
ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ. Π ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ-ΡΠΎ ΠΈΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ, ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ². ΠΡΠ»ΠΈ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Ρ ΠΏΡΠΈΡΠΈΠ½Ρ, ΡΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΡΠΏΠΎΠΊΠ°ΠΈΠ²Π°Π΅Ρ, Π½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΡ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ ΡΠ±ΠΎΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° HTTP/HTTPS.
- ΠΠ½ΠΆΠ΅Π½Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠΌΡ
Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³Ρ . - Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΡΠΉ ΡΠ°ΡΡ ΠΎΠ΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π±ΡΠ»ΠΎ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π΅ WAF Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄Π΅Π»Ρ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ β ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ Π±ΡΠ» Π½ΡΠΆΠ΅Π½, ΡΡΠΎΠ±Ρ WAF ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ» ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ².
- ΠΠ²ΠΈΠΆΠΎΠΊ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ ΠΈΠΌΠ΅Π» Π³Π°ΡΠ°Π½ΡΠΈΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
- ΠΠ°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² Π½Π΅ ΠΌΠΎΠ³ Π²ΡΡΠ²ΠΈΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ².
- ΠΡΠΎΡΠ΅Π΄ΡΡΠ° SOP ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΡΠΎΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡΠ°Π²ΠΈΠ» Π±Π΅Π· ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ°ΠΏΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
- ΠΠ»Π°Π½ ΠΎΡΠΊΠ°ΡΠ° ΡΡΠ΅Π±ΠΎΠ²Π°Π» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ WAF Π΄Π²Π°ΠΆΠ΄Ρ, Π° ΡΡΠΎ Π΄ΠΎΠ»Π³ΠΎ.
- ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ Ρ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ·Π΄Π½ΠΎ.
- ΠΡ ΠΏΡΠΎΠΌΠ΅Π΄Π»ΠΈΠ»ΠΈ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠ°ΡΡΡΠ°.
- Π£ Π½Π°Ρ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ ΠΈΠ·-Π·Π° ΡΠ±ΠΎΡ, Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±Ρ ΠΎΠ΄Π° Π±ΡΠ»Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π½Π°.
- SRE-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΡ ΡΡΠ΅ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΡΡΠ΅ΠΊ ΠΏΠΎ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
- Π£ Π½Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π½Π΅ Π±ΡΠ»ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Cloudflare ΠΈΠ»ΠΈ API, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π³ΠΈΠΎΠ½ Cloudflare.
Π§ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Ρ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ³Π°
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ Π΄Π»Ρ WAF ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΠΌ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ. (ΠΠΎΡΠΎΠ²ΠΎ)
- ΠΡΡΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π²ΡΠ΅ 3868 ΠΏΡΠ°Π²ΠΈΠ» Π² ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ Π΄Π»Ρ WAF, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³Π°. (ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°)
- ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ Π² Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ». (ΠΠΆΠΈΠ΄Π°Π΅ΡΡΡ: 19 ΠΈΡΠ»Ρ)
- ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π½Π° Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
re2 ΠΈΠ»ΠΈRust β ΠΎΠ±Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π² ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. (ΠΠΆΠΈΠ΄Π°Π΅ΡΡΡ: 31 ΠΈΡΠ»Ρ) - ΠΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ SOP, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ ΠΠ Π² Cloudflare, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΡΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π°ΡΠ°ΠΊΠΈ ΡΠΆΠ΅ Π½Π°ΡΠ°Π»ΠΈΡΡ.
- Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Cloudflare ΠΈ API ΠΈΠ· ΡΠ΅Π³ΠΈΠΎΠ½Π° Cloudflare.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
Cloudflare Status .
Π Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΌΡ ΠΎΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΎΡ Lua WAF, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π½Π°Π·Π°Π΄. ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ WAF Π²
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΡ ΡΠ±ΠΎΠΉ Π΄ΠΎΡΡΠ°Π²ΠΈΠ» Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠΈ Π½Π°ΠΌ ΠΈ Π½Π°ΡΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ. ΠΡ Π±ΡΡΡΡΠΎ ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π»ΠΈ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΈ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π°Π΄ ΠΈΠ·ΡΡΠ½Π°ΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» ΡΠ±ΠΎΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠΏΠ°Π΅ΠΌ Π΅ΡΠ΅ Π³Π»ΡΠ±ΠΆΠ΅, ΡΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΠΈΡΡΡΡ ΠΎΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π½Π° Π½ΠΎΠ²ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ.
ΠΠ°ΠΌ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ Π·Π° ΡΡΠΎΡ ΡΠ±ΠΎΠΉ, ΠΈ ΠΌΡ ΠΏΡΠΈΠ½ΠΎΡΠΈΠΌ ΠΈΠ·Π²ΠΈΠ½Π΅Π½ΠΈΡ Π½Π°ΡΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ. ΠΠ°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡΡ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
(?:(?:"|'|]|}||d
(?:nan|infinity|true|false|null|undefined|symbol|math)|`|-
|+)+[)]*;?((?:s|-|~|!|{}||||+)*.*(?:.*=.*)))
ΡΡΠ΅Π»ΠΎ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡ Π² ΠΏΠ°ΡΡΠ΅ΡΠ½Π΅ .*(?:.*=.*)
. (?:
ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ )
β ΡΡΠΎ Π½Π΅ Π·Π°Ρ
Π²Π°ΡΡΠ²Π°ΡΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° (ΡΠΎ Π΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ
Π³ΡΡΠΏΠΏΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅).
Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΊΠ°ΠΊ .*.*=.*
. Π ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈΠ·Π»ΠΈΡΠ½Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ. ΠΠΎ ΡΡΠΎ Π²Π°ΠΆΠ½Π΅Π΅, Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ Π² ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ
WAF), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³Ρ. Π Π²ΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ.
Π ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ .
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ», .*
β ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Β«ΠΆΠ°Π΄Π½ΠΎΒ», ΡΠΎ Π΅ΡΡΡ Π·Π°Ρ
Π²Π°ΡΠΈΠ² ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ .*.*=.*
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠΎΡΠΎΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½Π°ΠΉΡΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» =, ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ x=x
. ΠΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ .*.*=.*. .*.*
Π΄ΠΎ Π·Π½Π°ΠΊΠ° ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ x
(ΠΎΠ΄Π½Π° ΠΈΠ· Π³ΡΡΠΏΠΏ .*
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ x
, Π° Π²ΡΠΎΡΠ°Ρ β Π½ΡΠ»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²). .*
ΠΏΠΎΡΠ»Π΅ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ x
.
ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ 23 ΡΠ°Π³Π°. ΠΠ΅ΡΠ²Π°Ρ Π³ΡΡΠΏΠΏΠ° .*
Π² .*.*=.*
Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Β«ΠΆΠ°Π΄Π½ΠΎΒ» ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ x=x
. ΠΠ²ΠΈΠΆΠΎΠΊ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΠ΅ .*
. Π£ Π½Π°Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠΎΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° .*
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½ΡΠ»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (ΡΡΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ). ΠΠΎΡΠΎΠΌ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ Π·Π½Π°ΠΊΡ =
. Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ (ΠΏΠ΅ΡΠ²Π°Ρ Π³ΡΡΠΏΠΏΠ° .*
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π° Π²ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ x=x
), ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ.
Π ΡΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π½Π°ΡΠ°Π»Ρ. ΠΠ½ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅ .*
ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π΅ Ρ x=
(Π²ΠΌΠ΅ΡΡΠΎ x=x
), Π° Π·Π°ΡΠ΅ΠΌ Π±Π΅ΡΠ΅ΡΡΡ Π·Π° Π²ΡΠΎΡΡΡ Π³ΡΡΠΏΠΏΡ .*
. ΠΡΠΎΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° .*
ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎ Π²ΡΠΎΡΡΠΌ x
, ΠΈ Ρ Π½Π°Ρ ΡΠ½ΠΎΠ²Π° Π½Π΅ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π ΠΊΠΎΠ³Π΄Π° Π΄Π²ΠΈΠΆΠΎΠΊ ΠΎΠΏΡΡΡ Π΄ΠΎΡ
ΠΎΠ΄ΠΈΡ Π΄ΠΎ =
Π² .*.*=.*
, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ. Π ΠΎΠ½ ΡΠ½ΠΎΠ²Π° Π΄Π΅Π»Π°Π΅Ρ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³.
ΠΠ° ΡΡΠΎΡ ΡΠ°Π· Π³ΡΡΠΏΠΏΠ° .*
Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ x=
, Π½ΠΎ Π²ΡΠΎΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° .*
Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ x
, Π° Π½ΠΎΠ»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ²ΠΈΠΆΠΎΠΊ ΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» =
Π² ΠΏΠ°ΡΡΠ΅ΡΠ½Π΅ .*.*=.*
, Π½ΠΎ Π½Π΅ Π²ΡΡ
ΠΎΠ΄ΠΈΡ (Π²Π΅Π΄Ρ Π΅Π³ΠΎ ΡΠΆΠ΅ Π·Π°Π½ΡΠ»Π° ΠΏΠ΅ΡΠ²Π°Ρ Π³ΡΡΠΏΠΏΠ° .*
). Π ΠΎΠ½ ΡΠ½ΠΎΠ²Π° Π΄Π΅Π»Π°Π΅Ρ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³.
ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΠΏΠ΅ΡΠ²Π°Ρ Π³ΡΡΠΏΠΏΠ° .*
Π±Π΅ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ x. ΠΠΎ Π²ΡΠΎΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° .*
Β«ΠΆΠ°Π΄Π½ΠΎΒ» Π·Π°Ρ
Π²Π°ΡΡΠ²Π°Π΅Ρ =x
. Π£ΠΆΠ΅ Π΄ΠΎΠ³Π°Π΄Π°Π»ΠΈΡΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ? ΠΠ²ΠΈΠΆΠΎΠΊ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ =
, ΡΠ΅ΡΠΏΠΈΡ Π½Π΅ΡΠ΄Π°ΡΡ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³.
ΠΠ΅ΡΠ²Π°Ρ Π³ΡΡΠΏΠΏΠ° .*
Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ x
. ΠΡΠΎΡΠ°Ρ .*
Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ =
. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ =
, Π²Π΅Π΄Ρ ΡΡΠΎ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π»Π° Π²ΡΠΎΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° .*
. Π ΠΎΠΏΡΡΡ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³. Π ΡΡΠΎ ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ· ΡΡΠ΅Ρ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!
Π ΠΈΡΠΎΠ³Π΅ ΠΏΠ΅ΡΠ²Π°Ρ Π³ΡΡΠΏΠΏΠ° .*
ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠ΅ΡΠ²ΡΠΌ x
, Π²ΡΠΎΡΠ°Ρ .*
β Ρ Π½ΡΠ»Π΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΈ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ =
Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Ρ =
Π² ΡΡΡΠΎΠΊΠ΅. ΠΠ°Π»ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π³ΡΡΠΏΠΏΠ° .*
ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ x
.
23 ΡΠ°Π³Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ x=x
. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Perl
ΠΡΠΎ ΡΠΆΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ, Π½ΠΎ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ x=x
Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ x=xx
? ΠΡΠΎ 33 ΡΠ°Π³Π°. Π Π΅ΡΠ»ΠΈ x=xxx
? 45. ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π½Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½Π°Ρ. ΠΠ° Π³ΡΠ°ΡΠΈΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ x=x
Π΄ΠΎ x=xxxxxxxxxxxxxxxxxxxx
(20 x
ΠΏΠΎΡΠ»Π΅ =
). ΠΡΠ»ΠΈ Ρ Π½Π°Ρ 20 x ΠΏΠΎΡΠ»Π΅ =
, Π΄Π²ΠΈΠΆΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π° 555 ΡΠ°Π³ΠΎΠ²! (ΠΠ°Π»ΠΎ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΠΏΠΎΡΠ΅ΡΡΠ»ΡΡ x=
ΠΈ ΡΡΡΠΎΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΏΡΠΎΡΡΠΎ ΠΈΠ· 20 x
, Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ΄Π΅Π»Π°Π΅Ρ 4067 ΡΠ°Π³ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π½Π΅Ρ).
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π²Π΅ΡΡ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ x=xxxxxxxxxxxxxxxxxxxx
:
ΠΠ΅Π΄Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΅ΠΌΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠ΅Ρ ΡΠ²Π΅ΡΡ
Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ. ΠΠΎ Π²ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅ΡΠ΅ Ρ
ΡΠΆΠ΅, Π΅ΡΠ»ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π±ΡΠ»ΠΎ Π±Ρ .*.*=.*
; (ΡΠΎ Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° Π±ΡΠ»Π° Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΡΠ°ΠΊΠΈΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ foo=bar;
.
Π Π·Π΄Π΅ΡΡ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³ ΡΡΠ°Π» Π±Ρ Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠΎΠΉ. ΠΠ»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ x=x
ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ 90 ΡΠ°Π³ΠΎΠ², Π° Π½Π΅ 23. Π ΡΡΠΎ ΡΠΈΡΠ»ΠΎ Π±ΡΡΡΡΠΎ ΡΠ°ΡΡΠ΅Ρ. Π§ΡΠΎΠ±Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ x=
ΠΈ 20 x
, Π½ΡΠΆΠ½ΠΎ 5353 ΡΠ°Π³Π°. ΠΠΎΡ Π³ΡΠ°ΡΠΈΠΊ. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΎΡΠΈ Y
ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ.
ΠΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΡΠ΅ 5353 ΡΠ°Π³Π° Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ x=xxxxxxxxxxxxxxxxxxxx
ΠΈ .*.*=.*;
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«Π»Π΅Π½ΠΈΠ²ΡΠ΅Β», Π° Π½Π΅ Β«ΠΆΠ°Π΄Π½ΡΠ΅Β» ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΌΠ°ΡΡΡΠ°Π± Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° .*?.*?=.*?
, Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ x=x
ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ 11 ΡΠ°Π³ΠΎΠ² (Π° Π½Π΅ 23). ΠΠ°ΠΊ ΠΈ Π΄Π»Ρ x=xxxxxxxxxxxxxxxxxxxx
. ΠΡΠ΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ?
ΠΏΠΎΡΠ»Π΅ .*
Π²Π΅Π»ΠΈΡ Π΄Π²ΠΈΠΆΠΊΡ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΈΠ΄ΡΠΈ Π΄Π°Π»ΡΡΠ΅.
ΠΠΎ Β«Π»Π΅Π½ΠΈΠ²ΡΠ΅Β» ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ. ΠΡΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ .*.*=.*;
Π½Π° .*?.*?=.*?;
, Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌ. x=x
Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ 555 ΡΠ°Π³ΠΎΠ², Π° x=
ΠΈ 20 x
β 5353.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ (ΠΊΡΠΎΠΌΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠΊΠΈ) β ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π΄Π²ΠΈΠΆΠΊΠ° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ Π΅Π³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³Π°. ΠΡΠΈΠΌ ΠΌΡ ΠΈ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄Π΅Π»Ρ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π΅ΡΠ΅ Ρ 1968 Π³ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΠ΅Π½Ρ Π’ΠΎΠΌΠΏΡΠΎΠ½ Π½Π°ΠΏΠΈΡΠ°Π» ΡΡΠ°ΡΡΡ
ΠΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΠΠ΅Π½ Π’ΠΎΠΌΠΏΡΠΎΠ½ (Ken Thompson)
Bell Telephone Laboratories, Inc., ΠΡΡΡΠ΅ΠΉ-Π₯ΠΈΠ»Π», ΡΡΠ°Ρ ΠΡΡ-ΠΠΆΠ΅ΡΡΠΈΠΠ΄Π΅ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΡΠΎΡΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ IBM 7094 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠ° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π°Π΅Ρ ΡΠΈΠ³Π½Π°Π» ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΡΡΠΎΠΊΠ° ΠΈΠ· ΡΠ΅ΠΊΡΡΠ° ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΈ ΠΊ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³Ρ, Π΅ΡΠ»ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ Π½Π΅ Π΄Π°Π²Π°Π» ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ. ΠΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ β ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π² Π²Π΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΡΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠΈΡΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅.
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° IBM 7094.ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΡ ΡΡΠ°ΠΏΠΎΠ². ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠ°ΠΏ β ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«Β·Β» Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΠΏΠΎΡΡΡΠΈΠΊΡΠ½ΡΡ ΡΠΎΡΠΌΡ. ΠΠ° ΡΡΠ΅ΡΡΠ΅ΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ΅ΡΠ²ΡΠ΅ 2 ΡΡΠ°ΠΏΠ° ΠΎΡΠ΅Π²ΠΈΠ΄Π½Ρ, ΠΈ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π½Π° Π½ΠΈΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ.
Π ΡΡΠ°ΡΡΠ΅ Π’ΠΎΠΌΠΏΡΠΎΠ½Π° Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ ΠΎ Π½Π΅Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠ°Ρ , Π½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ALGOL-60, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠ΄ ΡΠ·ΡΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ IBM 7094. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΡΠ΄ΡΠ΅Π½Π°Ρ, Π½ΠΎ ΡΠ°ΠΌΠ° ΠΈΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ.
ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΡΡ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π·Π½Π°ΡΠΊΠΎΠΌ β Ρ ΠΎΠ΄Π½ΠΈΠΌ Π²Ρ ΠΎΠ΄ΠΎΠΌ ΠΈ Π΄Π²ΡΠΌΡ Π²ΡΡ ΠΎΠ΄Π°ΠΌΠΈ.
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 1 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΡΠ°ΠΏΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ΅ΡΠ²ΡΠ΅ ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ β a, b, c, ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΠ΅ΠΊΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ S[i] ΠΈ ΠΏΠΎΠ»Π΅ NNODE.NNODE ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ, ΡΡΠΎΠ±Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΠΊΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ (ΡΠΌ. ΡΠΈΡ. 5)
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΎ Π±Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ .*.*=.*
, Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°Ρ
ΠΈΠ· ΡΡΠ°ΡΡΠΈ Π’ΠΎΠΌΠΏΡΠΎΠ½Π°.
ΠΠ° ΡΠΈΡ. 0 Π΅ΡΡΡ ΠΏΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 0, ΠΈ 3 ΡΠΈΠΊΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ 1, 2 ΠΈ 3. ΠΡΠΈ ΡΡΠΈ ΡΠΈΠΊΠ»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠ΅ΠΌ .*
Π² ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ. 3 ΠΎΠ²Π°Π»Π° Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠ²Π°Π» ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ =
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ =
. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 4 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ ΠΌΡ Π΅Π³ΠΎ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ, Π·Π½Π°ΡΠΈΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ.
Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΡΠ°ΠΊΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ .*.*=.*
, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ x=x
. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 0, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 1.
Π§ΡΠΎΠ±Ρ ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π», ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ΅Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π°Π²ΡΠΎΠΌΠ°Ρ ΡΠ΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΡΠ΅ Π½Π΅ ΡΡΠΏΠ΅Π² ΡΡΠΈΡΠ°ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² ΠΎΠ±Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (1 ΠΈ 2), ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 2.
ΠΠ° ΡΠΈΡ. 2 Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ x
Π² x=x
. x
ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡΡΡ Ρ Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 1 ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 1. ΠΠ»ΠΈ x
ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΠΎΡΠΊΠΎΠΉ Π½ΠΈΠΆΠ΅, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 2 ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 2.
ΠΠΎΡΠ»Π΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ x
Π² x=x
ΠΌΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΡΡ
1 ΠΈ 2. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 3 ΠΈΠ»ΠΈ 4, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» =
.
ΠΠ°ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ =
Π² x=x
. ΠΠ°ΠΊ ΠΈ x Π΄ΠΎ ΡΡΠΎΠ³ΠΎ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Ρ Π»ΡΠ±ΡΠΌ ΠΈΠ· Π΄Π²ΡΡ
Π²Π΅ΡΡ
Π½ΠΈΡ
ΡΠΈΠΊΠ»ΠΎΠ² Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 1 ΠΈ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 1 ΠΈΠ»ΠΈ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 2 Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 2, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ =
ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 2 Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 3 (ΠΈ ΡΡΠ°Π·Ρ 4). ΠΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 3.
ΠΠ°ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ x
Π² x=x
. ΠΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ 1 ΠΈ 2 ΡΠ΅ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 1 ΠΈ 2. ΠΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 3 x
ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΠΎΡΠΊΠΎΠΉ ΡΠΏΡΠ°Π²Π° ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ 3.
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» x=x
ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½, Π° ΡΠ°Π· ΠΌΡ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 4, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΠ½Ρ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π±ΡΠΊΡΡΠ΅ΠΊΠΈΠ½Π³Π°.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 4 (ΠΊΠΎΠ³Π΄Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠ» x=
) Π²ΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ, ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ, Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ x
.
ΠΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com