рд╕реБрд░рдХреНрд╖рд╛ рдЖрдкрдХреЛ рдЫреЛрдбрд╝рдХрд░

рдореИрдВрдиреЗ рдиреНрдпреВ рдпреЙрд░реНрдХ рдХреЗ рдмреНрд░реБрдХрд▓рд┐рди рдореЗрдВ рдореИрд╕реЗрдЬрд┐рдВрдЧ, рдорд╛рд▓рд╡реЗрдпрд░ рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдПрдВрдЯреА-рдПрдмреНрдпреВрдЬрд╝ рд╡рд░реНрдХрд┐рдВрдЧ рдЧреНрд░реБрдк (m3aawg.org) рдХреА рдПрдХ рдмреИрдардХ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ред рдореИрдВ рд╢рд╣рд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ, рд╕рдореНрдореЗрд▓рди рдХрд╛ рдЖрдирдВрдж рд▓реЗрдиреЗ рдФрд░ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рднреЛрдЬрди рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЪрдпрди рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдореМрд╕рдо рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВ рдЖрдХрд╛рд╢ рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рд╛рде рд╣реБрдИ рдмрд╛рд░рд┐рд╢ рд╕реЗ рднреА рдХреБрдЫ рдирд╣реАрдВ рд▓рд┐рдпрд╛ред рдФрд░ рдкреВрд░реЗ рд╣рдлреНрддреЗ рдмрд╛рд░рд┐рд╢ рд╣реБрдИред рдЗрд╕рдиреЗ рдореБрдЭреЗ рдореБрдлреНрдд рд╡рд╛рдИрдлрд╛рдИ рдФрд░ рдореЗрд░реЗ рдХрд╛рдо рдХреЗ рд▓реИрдкрдЯреЙрдк рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╣реЛрдЯрд▓ рдХреЗ рдХрдорд░реЗ рдореЗрдВ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдпрд╣ рд╕рдордп Node.js рдФрд░ рдЙрдирдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдкрд░ рд╢реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП https://www.npmjs.com рдкрд░ рдЙрдкрд▓рдмреНрдз рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред


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


рдХрдИ рдлрд╝рд╛рдЗрд▓ рдЪрдпрди, рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк, рдкреНрд░рдЧрддрд┐ рд╕рдВрдХреЗрддрдХ, рд╕рддреНрдпрд╛рдкрди рдФрд░ рдЫрд╡рд┐рдпреЛрдВ, рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде, jQuery рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рд╡рд┐рдЬреЗрдЯред рдпрд╣ рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдкрдХреНрд╖ рдкрд░ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдВрд╢рд┐рдХ рдФрд░ рдирд╡реАрдХрд░рдгреАрдп рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рддрдВрддреНрд░ред рдпрд╣ рдХрд┐рд╕реА рднреА рд╕рд░реНрд╡рд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (PHP, Python, Ruby on Rails, Java, Node.js, Go, рдЖрджрд┐) рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ HTML рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдирдХ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдкреИрдХреЗрдЬ рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд╕рд░реНрд╡рд░ / php рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ PHP рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ upload.php рдФрд░ UploadHandler.php рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ред upload.php рдХреЛ UploadHandler.php рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореБрдЦреНрдп рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХреЛрдб рд╕реНрдерд┐рдд рдерд╛ред рдореИрдВрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдЯ рдореЗрдВ рдлрд╛рдЗрд▓реЗрдВ / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдереАрдВред рдореИрдВрдиреЗ рдХрд░реНрд▓ рдФрд░ рдПрдХ рдЖрджрд┐рдо PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдорд╛рдВрдб рд▓рд┐рдЦреА, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд░ рдкрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред


$ curl -F "files=@shell.php" http://example.com/jQuery-File-Upload-9.22.0/server/php/index.php 

рдЬрд╣рд╛рдБ shell.php рдлрд╝рд╛рдЗрд▓ рд╣реЛрддреА рд╣реИ:


 <?php $cmd=$_GET['cmd']; system($cmd);?> 

рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ cmd = рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рдкреГрд╖реНрда рдЦреЛрд▓рдирд╛ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрдИрдбреА рд▓реМрдЯрд╛ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╕рд░реНрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХреА рдЧрдИ рдереАред рдореИрдВрдиреЗ рдпрд╣ рдорд╛рдирд╛ рдХрд┐ рдпрд╣ рднреЗрджреНрдпрддрд╛ рдкрд░ рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЧрдпрд╛ рдФрд░ рдПрдХ рддреНрд╡рд░рд┐рдд Google рдЦреЛрдЬ рдиреЗ рдореБрдЭреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рдЗрд╕ рдХреЛрдб рдпрд╛ рдЗрд╕рдХреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдереАрдВред рдХрдИ рд╡реАрдбрд┐рдпреЛ рднреА рджрд┐рдЦрд╛рдП рдЧрдП рдХрд┐ рдХреИрд╕реЗ рд╕рдорд╛рди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬреЛрдВ рдкрд░ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПред


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


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


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдкрд╛рдЪреЗ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдкрд░ рдЕрдкрд╛рдЪреЗ рдХреЗ рдЕрдЪреНрдЫреЗ рдЗрд░рд╛рджреЗ рдереЗ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдиреЗ рдХреБрдЫ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдЙрдирдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рднреА рдЦрддрд░реЗ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЧрд░ рд╡реЗ .htaccess рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣реЗ рдереЗред


рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдФрд░ CVE-2018-9206 рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рднреЗрджреНрдпрддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдХреЛрдб рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рддрд╛рдХрд┐ рдЙрд╕реЗ рдХреЗрд╡рд▓ рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реЗред


рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╣реИред


рдпрд╣рд╛рдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЕрдкрд╛рдЪреЗ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рд░рдг, 7,800 рд╢реЗрд╖ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдЕрдкрд▓реЛрдб рд╕рдорд╕реНрдпрд╛рдПрдВ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВред



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


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


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


рдирд┐рд╖реНрдХрд░реНрд╖


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


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


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


All Articles