рдиреЛрдб-рдЖрдИрдкреАрд╕реА рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдореЗрдВ рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд░реВрд╕ рдФрд░ рдмреЗрд▓рд╛рд░реВрд╕ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ

рдиреЛрдб-рдЖрдИрдкреАрд╕реА рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ (рд╕реАрд╡реАрдИ-2022-23812) рдореЗрдВ рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛, 25% рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдХрд┐ рд▓реЗрдЦрди рдкрд╣реБрдВрдЪ рд╡рд╛рд▓реА рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ "тЭдя╕П" рд╡рд░реНрдг рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рдХреЗрд╡рд▓ рддрднреА рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд░реВрд╕ рдпрд╛ рдмреЗрд▓рд╛рд░реВрд╕ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдиреЛрдб-рдЖрдИрдкреАрд╕реА рдкреИрдХреЗрдЬ рдХреЗ рдкреНрд░рддрд┐ рд╕рдкреНрддрд╛рд╣ рд▓рдЧрднрдЧ рджрд╕ рд▓рд╛рдЦ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реАрдпреВ-рд╕реАрдПрд▓рдЖрдИ рд╕рд╣рд┐рдд 354 рдкреИрдХреЗрдЬреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рдЬрд┐рдирдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдиреЛрдб-рдЖрдИрдкреАрд╕реА рд╣реИ, рднреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВред

рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рдХреЛ рдиреЛрдб-рдЖрдИрдкреАрд╕реА 10.1.1 рдФрд░ 10.1.2 рд░рд┐рд▓реАрдЬ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдирдкреАрдПрдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред 11 рджрд┐рди рдкрд╣рд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓реЗрдЦрдХ рдХреА рдУрд░ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред api.ipgeolocation.io рд╕реЗрд╡рд╛ рдкрд░ рдХреЙрд▓ рдХрд░рдХреЗ рдХреЛрдб рдореЗрдВ рджреЗрд╢ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдПрдореНрдмреЗрдб рд╕реЗ ipgeolocation.io API рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╡рд╛рд▓реА рдХреБрдВрдЬреА рдЕрдм рдирд┐рд░рд╕реНрдд рдХрд░ рджреА рдЧрдИ рд╣реИред

рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдХрд╣рд╛ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдЬреЛ рд╢рд╛рдВрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдб рдиреЗ рд╕рд╛рдордиреЗ рдЖрдИ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЦреЛрдЬ рдХреАред

рдиреЛрдб-рдЖрдИрдкреАрд╕реА 11.0.0 рдФрд░ 11.1.0 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдмрд╛рдж рдореЗрдВ рдПрдирдкреАрдПрдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рдХреЛ рдПрдХ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛, "рдкреАрд╕рдиреЛрдЯрд╡рд╛рд░" рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдЙрд╕реА рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрдЪреНрдЫреБрдХ рдкреИрдХреЗрдЬ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЧрдИ рдереАред рд╡рд┐рд░реЛрдз рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП. рдРрд╕рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреАрд╕рдиреЛрдЯрд╡рд╛рд░ рдкреИрдХреЗрдЬ рдХреЗрд╡рд▓ рд╢рд╛рдВрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдкреИрдХреЗрдЬ рдХреА рдЖрдЧреЗ рдХреА рд╕рд╛рдордЧреНрд░реА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИ рдФрд░ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред

рдЙрд╕реА рд╕рдордп, рд╕реНрдерд┐рд░ рдиреЛрдб-рдЖрдИрдкреАрд╕реА 9.2.2 рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрдпрддрди рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Vue.js рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ, рдкреАрд╕рдиреЛрдЯрд╡рд╛рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд▓рд░реНрд╕ рдкреИрдХреЗрдЬ рдХреЛ рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдЬрдирд╡рд░реА рдореЗрдВ рдХреЛрдб рдореЗрдВ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдерд╛ред рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЛ MIT рд╕реЗ DBAD рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ рд▓реЗрдЦрдХ рдХреА рдЖрдЧреЗ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпрд╛рдВ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдиреЛрдб-рдЖрдИрдкреАрд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 9.2.1 рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред рдЙрд╕реА рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдЕрдиреНрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рддрдп рдХрд░рдиреЗ рдХреА рднреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ рдЬрд┐рд╕рдиреЗ 41 рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдХрд┐рдпрд╛ рдерд╛ред рдПрдХ рд╣реА рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХреБрдЫ рдкреИрдХреЗрдЬ (рдЬреЗрдПрд╕-рдХреНрдпреВ, рдИрдЬреА-рд╕реНрдЯреИрдХ, рдЬреЗрдПрд╕-рдореИрд╕реЗрдЬ, рдЗрд╡реЗрдВрдЯ-рдкрдмрд╕рдм) рдХреЗ рдкреНрд░рддрд┐ рд╕рдкреНрддрд╛рд╣ рд▓рдЧрднрдЧ рджрд╕ рд▓рд╛рдЦ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛрддреЗ рд╣реИрдВред

рдЕрддрд┐рд░рд┐рдХреНрдд: рд╡рд┐рднрд┐рдиреНрди рдЦреБрд▓реЗ рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдПрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЕрдиреНрдп рдкреНрд░рдпрд╛рд╕ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЖрдИрдкреА рдкрддреЗ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рд▓реЛрдХреЗрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд╣рд╛рдирд┐рд░рд╣рд┐рдд (es5-ext, rete, PHP рдХрдВрдкреЛрдЬрд╝рд░, PHPUnit, Redis рдбреЗрд╕реНрдХрдЯреЙрдк рдореИрдиреЗрдЬрд░, рд╡рд┐рд╕реНрдордпрдХрд╛рд░реА рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдЕрд▓рд░реНрдЯ, verdaccio, filestash) рд░реВрд╕ рдФрд░ рдмреЗрд▓рд╛рд░реВрд╕ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпреБрджреНрдз рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╣реЛ рдЧрдП рд╣реИрдВред рд╕рд╛рде рд╣реА, рдЕрдзрд┐рдХ рдЦрддрд░рдирд╛рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рднреА рдкрд╣рдЪрд╛рди рдХреА рдЧрдИ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЙрдбреНрдпреВрд▓ рдкреИрдХреЗрдЬ рдореЗрдВ рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдореЗрдВ рд░рд╛рдЬрдиреАрддрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдз рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдереЗред ESP8266 рдФрд░ ESP32 рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП Tasmota рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдмреБрдХрдорд╛рд░реНрдХ рд╣реИ рдЬреЛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдРрд╕реА рдЧрддрд┐рд╡рд┐рдзрд┐ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЛ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдХрдо рдХрд░ рд╕рдХрддреА рд╣реИред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ