рд╕реНрдирдлрд▓реНрдпреБрдкреЕрдЧрд╕ 0.5.1 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди, PHP рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреАрд▓ рднреЗрджреНрдпрддрд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдореЙрдбреНрдпреВрд▓

рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдирдВрддрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрд░рдХрд▓реНрдк рдкреНрд░рдХрд╛рд╢рди рд╕реНрдирдлрд▓реЗрдкреЕрдЧрд╕ реж.рел.рез, рдЬреЗ PHP7 рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░рд╕рд╛рдареА рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ PHP рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдордзреНрдпреЗ рднреЗрджреНрдпрддрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯреАрдВрдирд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдореЙрдбреНрдпреВрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдореЙрдбреНрдпреВрд▓ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рджреЗрдЦреАрд▓ рдЕрдиреБрдорддреА рджреЗрддреЗ рдЖрднрд╛рд╕реА рдкреЕрдЪ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪрд╛ рд╕реНрддреНрд░реЛрдд рдХреЛрдб рди рдмрджрд▓рддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЬреЗ рдорд╛рд╕ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрд╣реЗ рдЬреЗрдереЗ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрджреНрдпрдпрд╛рд╡рдд рдареЗрд╡рдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ. рдореЙрдбреНрдпреВрд▓рдЪрд╛ рдУрд╡реНрд╣рд░рд╣реЗрдб рдЦрд░реНрдЪ рдХрд┐рдорд╛рди рдЕрд╕рдгреНрдпрд╛рдЪрд╛ рдЕрдВрджрд╛рдЬ рдЖрд╣реЗ. рдореЙрдбреНрдпреВрд▓ C рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ, рд╕рд╛рдорд╛рдпрд┐рдХ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗ (php.ini рдордзреНрдпреЗ тАЬextension=snuffleupagus.soтАЭ) рдЖрдгрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд LGPL 3.0 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд.

Snuffleupagus рдПрдХ рдирд┐рдпрдо рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдорд╛рдирдХ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХрд┐рдВрд╡рд╛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдЖрдгрд┐ рдлрдВрдХреНрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдирд┐рдпрдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдирд┐рдпрдо тАЬsp.disable_function.function(тАЬsystemтАЭ).param(тАЬcommandтАЭ).value_r(тАЬ[$|;&`\\n]тАЭ).drop();тАЭ ре▓рдкреНрд▓рд┐рдХреЗрд╢рди рди рдмрджрд▓рддрд╛ system() рдлрдВрдХреНрд╢рди рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯрдордзреНтАНрдпреЗ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░реВ рджреЗрддреЗ. рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреЗ рд╡рд░реНрдЧ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдВрдЧрднреВрдд рдкрджреНрдзрддреА рдкреНрд░рджрд╛рди рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЬрд╕реЗ рдХреА рд╕рдорд╕реНрдпрд╛, рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдХреНрд░рдорд╡рд╛рд░реАрд╕рд╣, рдЕрд╕реБрд░рдХреНрд╖рд┐рдд PHP рдореЗрд▓() рдлрдВрдХреНрд╢рдирдЪрд╛ рд╡рд╛рдкрд░, XSS рд╣рд▓реНрд▓реНрдпрд╛рдВрджрд░рдореНрдпрд╛рди рдХреБрдХреА рд╕рд╛рдордЧреНрд░реАрдЪреА рдЧрд│рддреА, рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдХреЛрдбрд╕рд╣ рдлрд╛рдЗрд▓реНрд╕ рд▓реЛрдб рдХреЗрд▓реНрдпрд╛рдореБрд│реЗ рд╕рдорд╕реНрдпрд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ phar), рдЦрд░рд╛рдм рджрд░реНрдЬрд╛рдЪреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреА рдЖрдгрд┐ рдмрджрд▓реА рдЪреБрдХреАрдЪреА XML рд░рдЪрдирд╛.

Snuffleupagus рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реЗ PHP рд╕реБрд░рдХреНрд╖рд╛ рд╡рд░реНрдзрд┐рдд рдореЛрдб:

  • рдХреБрдХреАрдЬрд╕рд╛рдареА "рд╕реБрд░рдХреНрд╖рд┐рдд" рдЖрдгрд┐ "рд╕рдорд╛рдирд╕рд╛рдЗрдЯ" (CSRF рд╕рдВрд░рдХреНрд╖рдг) рдзреНрд╡рдЬ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╕рдХреНрд╖рдо рдХрд░рд╛, рдПрдирдХреНрд░рд┐рдкреНрд╢рди рдХреБрдХреА;
  • рд╣рд▓реНрд▓реНрдпрд╛рдВрдЪреЗ рдЯреНрд░реЗрд╕ рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреА рддрдбрдЬреЛрдб рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдмрд┐рд▓реНрдЯ-рдЗрди рдирд┐рдпрдорд╛рдВрдЪрд╛ рд╕рдВрдЪ;
  • рд╕рдХреНрддреАрдЪреЗ рдЬрд╛рдЧрддрд┐рдХ рд╕рдХреНрд░рд┐рдпрдХрд░рдг "рдХрдареЛрд░" (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпреБрдХреНрддрд┐рд╡рд╛рдж рдореНрд╣рдгреВрди рдкреВрд░реНрдгрд╛рдВрдХ рдореВрд▓реНрдпрд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛рдирд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рддреЗ) рдЖрдгрд┐ рддреНрдпрд╛рдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдкреНрд░рдХрд╛рд░ рд╣рд╛рддрд╛рд│рдгреА;
  • рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд░реЕрдкрд░реНрд╕ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "phar://" рд╡рд░ рдмрдВрджреА рдШрд╛рд▓рдгреЗ) рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рд╢реНрд╡реЗрддрд╕реВрдЪреАрд╕рд╣;
  • рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдпреЛрдЧреНрдп рдлрд╛рдЗрд▓реНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдордирд╛рдИ;
  • eval рд╕рд╛рдареА рдХрд╛рд│реНрдпрд╛ рдЖрдгрд┐ рдкрд╛рдВрдврд░реНрдпрд╛ рдпрд╛рджреНрдпрд╛;
  • рд╡рд╛рдкрд░рддрд╛рдирд╛ TLS рдкреНрд░рдорд╛рдгрдкрддреНрд░ рддрдкрд╛рд╕рдгреА рд╕рдХреНрд╖рдо рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
    рдХрд░реНрд▓;
  • рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди рдореВрд│ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирджреНрд╡рд╛рд░реЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреБрдХреНрд░рдорд┐рдд рд╡рд╕реНрддреВрдВрдордзреНрдпреЗ HMAC рдЬреЛрдбрдгреЗ;
  • рд▓реЙрдЧрд┐рдВрдЧ рдореЛрдбрдЪреА рд╡рд┐рдирдВрддреА рдХрд░рд╛;
  • XML рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдордзреАрд▓ рджреБрд╡реНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ libxml рдордзреНрдпреЗ рдмрд╛рд╣реНрдп рдлрд╛рдЗрд▓реНрд╕ рд▓реЛрдб рдХрд░рдгреЗ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ;
  • рдЕрдкрд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд╛рдпрд▓реА рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕реНрдХреЕрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд╛рд╣реНрдп рд╣рдБрдбрд▓рд░ (upload_validation) рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛;

рдпрд╛рдкреИрдХреА рдмрджрд▓ рдирд╡реАрди рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ: PHP 7.4 рд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдЖрдгрд┐ рд╕рдзреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ PHP 8 рд╢рд╛рдЦреЗрд╕рд╣ рд╕реБрд╕рдВрдЧрддрддрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реА. syslog рджреНрд╡рд╛рд░реЗ рдЗрд╡реНрд╣реЗрдВрдЯ рд▓реЙрдЧ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА (sp.log_media рдирд┐рд░реНрджреЗрд╢ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗ, рдЬреЗ php рдХрд┐рдВрд╡рд╛ syslog рдореВрд▓реНрдпреЗ рдШреЗрдК рд╢рдХрддрд╛рдд). рдиреБрдХрддреНрдпрд╛рдЪ рдУрд│рдЦрд▓реНрдпрд╛ рдЧреЗрд▓реЗрд▓реНрдпрд╛ рднреЗрджреНрдпрддрд╛ рдЖрдгрд┐ рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╡рд░ рд╣рд▓реНрд▓рд╛ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рддрдВрддреНрд░рд╛рдВрд╕рд╛рдареА рдирд╡реАрди рдирд┐рдпрдо рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рдпрдорд╛рдВрдЪрд╛ рдбреАрдлреЙрд▓реНрдЯ рд╕рдВрдЪ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ. MacOS рд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдЖрдгрд┐ GitLab рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕рддрдд рдПрдХреАрдХрд░рдг рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡рд╛рдкрд░.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛