рд╣рдмреНрд░рдмреНрд░ рдкрд░ 6 XSS рдФрд░ рдЙрдирдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рддрд░реАрдХреЗ

рдЫрд╡рд┐

рдХрд┐рд╕реА рддрд░рд╣ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд╣рдмрд░рд╛рдмреНрд░ рдкрд░ рдХреЙрд░рдкреЛрд░реЗрдЯ рдмреНрд▓реЙрдЧ рдХреА рд▓рд╛рдЧрдд рдХрд┐рддрдиреА рд╣реИред рдореИрдВ рдЗрд╕ рдкреЗрдЬ рдкрд░ рдЧрдпрд╛ рдФрд░ рдСрд░реНрдбрд░ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ, рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ XSS рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдХреНрдЯрд░ рдкреЗрд╢ рдХрд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ JS рдирд┐рд╖реНрдкрд╛рджрди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдЗрддрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХреНрд╕рдмреАрдПрд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рд╣реИрдмрд░ рдкрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рддрд░реАрдХреЗред

рд╕рдВрд░рдХреНрд╖рдгред HTTP рдХреЗрд╡рд▓


рдЪрд░рдг 2 рдФрд░ рдЪрд░рдг 3 рдореЗрдВ рджреЛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ XSS рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред XSS рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛрдиреЗ рдкрд░ рд╕рдмрд╕реЗ рдорд╛рдирдХ рд╣рдорд▓рд╛ рд╡реЗрдХреНрдЯрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рддреНрд░ рдХреЛ "рдорд░реНрдЬ" рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░рдирд╛ рд╣реИред рдХреБрдХреАрдЬрд╝ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ PHPSSESID рдХреЗ рд▓рд┐рдП HTTP рдХреЗрд╡рд▓ рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ JS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рдХреБрдХреА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдЬреЗрдПрд╕ рдХреЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░ рдХреЛ "рдорд░реНрдЬ" рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рддрд╣рдд рдЕрдзрд┐рдХреГрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рд╕рд┐рдХ рд╣рдорд▓рд╛ рд╡реЗрдХреНрдЯрд░)ред Apache (рдФрд░ рдпрд╣рд╛рдБ nginx, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд▓рд╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕рднреА рд╡реИрдХреНрдЯрд░ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИред

рд╕рдВрдХреЗрдд: phpsessid рдХреЗ рд▓рд┐рдП HTTP рдХреЗрд╡рд▓ рдзреНрд╡рдЬ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП php.ini рдореЗрдВ рдирд┐рдореНрди рдорд╛рди рд╕реЗрдЯ рдХрд░реЗрдВ: session.cookie_httponly = true

рд╕рдВрд░рдХреНрд╖рдгред рдПрдВрдЯреА-рд╕реАрдПрд╕рдЖрд░рдПрдл рд╕реБрд░рдХреНрд╖рд╛


рдЪреВрдВрдХрд┐ рд╣рдо POST рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ XSS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ CSRF рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ XSS рдХрд╛ рд╢реЛрд╖рдг рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд▓рд╛рд╡рд░ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рд╕рдорд╛рди рд░реВрдк рдмрдирд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдПрдХ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрди рдкрд░, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднрд░реЗ рд╣реБрдП рдбреЗрдЯрд╛ (рдХрдордЬреЛрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ XSS рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдХреНрдЯрд░ рд░рдЦрдХрд░) рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рдЫрд┐рдкреЗ рд╣реБрдП рдлреНрд░реЗрдо рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИред рдЬрдм рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рдлреНрд░реЗрдо рдФрд░ рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдЗрдЯ рдЦреЛрд▓рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╣реЗрдмрд░ рдХреЛ рднреЗрдЬ рджреЗрдЧрд╛ рдФрд░ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдЬреЗрдПрд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди, рдПрдХ рдЕрдВрддрд░ рд╣реИ - HTTP рд░реЗрдлрд╝рд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╣рдорд▓рд╛рд╡рд░ рдХреА рд╕рд╛рдЗрдЯ рдХрд╛ рдбреЛрдореЗрди рд╣реЛрдЧрд╛ред

рд▓реЗрдЦ рдореЗрдВ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡реЗрдм рд╕рдВрд╕рд╛рдзрди рдХреА рдУрд░ред рднрд╛рдЧ 1 - рд╕рд░реНрд╡рд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореИрдВрдиреЗ рдирд┐рдЧрдиреЗрдХреНрд╕ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ (рдЬрд┐рд╕реЗ рд╕реАрдзреЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдПрдХ рдЧрдВрджреЗ рд╣реИрдХ рдХреЗ рд░реВрдк рдореЗрдВ:

# ANTI CSRF HACK valid_referers blocked example.com www.example.com; if ($invalid_referer) { set $possible_csrf 1; } if ($request_method = POST) { set $possible_csrf "${possible_csrf}2"; } if ($possible_csrf = 12) { return 403; } 


рдФрд░ рдпрд╣рд╛рдБ рд╡рд╣ рдПрдХ рдЖрдХрд░реНрд╖рдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ - рд╣реИрдмреНрд░рд╛рд╣реНрдм, рдЗрд╕ рдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рд╣рдо рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд╛рдЗрдЯ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ POST рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ - рд╣рдореЗрдВ 403 рдорд┐рд▓реЗрдЧрд╛ред рдирддреАрдЬрддрди, рд╣рдо рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ JS рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдВрдХреЗрдд: CSRF рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛, POST рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ XSS рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рдЬреЛ рднреЗрджреНрдпрддрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред

рд╣рдорд▓рд╛ред рдХреБрдХреА рдЗрдВрдЬреЗрдХреНрд╢рди


рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдХреНрдпрд╛ рдЕрдм рднреА рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ? рдкреНрд░рдкрддреНрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреЙрд░реНрдо рдореЗрдВ рднрд░рд╛ рдбреЗрдЯрд╛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ (рд╢рд╛рдпрдж рдореЗрдордХрд╛рдЪреЗ) рдкрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдХреИрд╢ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреИрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░ (PHPSESSID) рд╕реЗ рд╕рдВрдмрджреНрдз рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдХреЗ рд╕рд╛рде - habrsession_idред рдпрд╛рдиреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ XSS рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдлреЙрд░реНрдо рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдХреБрдХреА habrsession_id рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд╣рдорд▓реЗ рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдо (рдорд╛рдирдХ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд) рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЛрдореЗрди рдкрд░ рдХреБрдХреА рдорд╛рди рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рддрд░реАрдХрд╛ рд╣реИ - рдХреБрдХреА рдЗрдВрдЬреЗрдХреНрд╢рдиред

рдЗрд╕рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЬреЗрдПрд╕ рдХреЛрдб рдФрд░ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ.рдпреВрдХреА рдХрд╛ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ XSS DOM рдпрд╛ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдХреБрдХреА рдорд╛рди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХреБрдХреА рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдВрдбреЛ рдХреЗ рд╢реАрд░реНрд╖рдХ рдореВрд▓реНрдп рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреА рд╣реИрдВ (рд╣рдо рд╡рд┐рдВрдбреЛ рдХреЛ рд╡рд┐рдВрдбреЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдорд╛рдорд▓реЗ рд╣реИрдВ) рд╣рдорд▓рд╛рд╡рд░ рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдФрд░ рдЬреЗрдПрд╕ рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╣реИрдмреНрд░реЗрд╢рди_рдПрдб рд╡реИрд▓реНрдпреВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рд╕рднреА рдмреАрдПрд╕рдПрд╕ рддрдп рдХрд┐рдП рдЧрдП рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХреБрдЫ рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдкреЛрд░реНрдЯ рдЯреАрдо рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ , рд╡реЗ рдмрд╣реБрдд рдЬрд▓реНрджреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВрдЧреЗред

рд╕рдВрдХреЗрдд: рд▓реЗрдЦ рдореЗрдВ рд▓реВрдкрд╣реЛрд▓реНрд╕ рдХреА рддрд▓рд╛рд╢: рдбреЛрдо рдЧрд╛рдЗрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд XSS , рдХреНрд╖рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ DOM XSS рдХреЗ рд╕рд╛рде рдХреИрдЪ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рд╣реИред

PS рдФрд░ рд╡рд┐рд╖рдп рд╡рд┐рд╖рдп рдХрд╛ рд╕рдВрдХреЗрдд: рд╡рд┐рд╖рдп рд▓рд┐рдЦрддреЗ рд╕рдордп, рдЗрд╕реЗ рд╕рд╣реЗрдЬреЗ рдирд╣реАрдВ рдФрд░ рдЧрд▓рддреА рд╕реЗ f5 рджрдмрд╛ рджрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рдмрд┐рдВрджреБ рдкрд░, рдореИрдВрдиреЗ рд▓реЗрдЦ рдХрд╛ рдкреВрд░рд╛ рдкрд╛рда рдЦреЛ рджрд┐рдпрд╛ (рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рдЧрднрдЧ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдерд╛, рддреЛ "рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛" рдмрдЯрди рдиреЗ рдорджрдж рдирд╣реАрдВ рдХреА)ред рдПрдХ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рддреБрд░рдВрдд рдбрдВрдк рдХрд┐рдпрд╛, рдЗрд╕реЗ рдПрдЪрдПрдХреНрд╕рдбреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрд▓рд╛, рдЕрдкрдиреЗ рдХреАрд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦ рдХрд╛ рдкрд╛рда рдкрд╛рдпрд╛ (рд░реВрд╕реА рдкрд╛рда рдЬрд╕ рдореЗрдВ рдерд╛) рдФрд░ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рд▓реЗрдЦ рдХреЗ рд╢реЗрд░ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред

Source: https://habr.com/ru/post/In195320/


All Articles