рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рд╕реЗ рд╕рдВрдХреНрд░рдорд┐рдд рд╕рд╛рдЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдлрд╛рдИред рд╡рд┐рд╕реНрддрд╛рд░

рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрд░рд┐рдп Habrausers!

рдпрд╣ рд▓реЗрдЦ рдЗрд╕ рд▓реЗрдЦ рдХреА рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Agel_Nash рджреНрд╡рд╛рд░рд╛ рдЫреЛрдбрд╝реА рдЧрдИ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╡рд╛рдпрд░рд╕ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдорд▓реЗ рдХреЗ рдЕрдзреАрди рдлрд╛рдЗрд▓реЗрдВ - * .jsред

рд╣рдорд╛рд░реЗ рдХрдИ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рд╛рдЗрдЯреЗрдВ рдЬреЛ рдПрдлрд╝рдЯреАрдкреА рдПрдХреНрд╕реЗрд╕ рдХреЛ рдмрджрд▓рдиреЗ, рдореИрд▓рд╡реЗрдпрд░ рд╕реЗ рдЕрдкрдиреА рдорд╢реАрдиреЛрдВ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдФрд░ рдПрдлрд╝рдЯреАрдкреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рд╣рдорд╛рд░реА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддреА рдереАрдВ, рдЗрд╕ рд╡рд╛рдпрд░рд╕ рд╕реЗ рд╕рдВрдХреНрд░рдорд┐рдд рдереАрдВред рдирд┐рдореНрди рдХреЛрдб * .js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ : pastebin.com/2PWJycAd ред рдЗрд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕рдЦреНрддреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд░рд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХреЛрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреЛ рд▓реЛрдЧ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдореИрдВ рдПрдХ рдкрдардиреАрдп рдирдЬрд╝рд░ рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ: рджрд┐рдП рдЧрдП рдХреЛрдб рдХрд╛ (рдПрдХ рд╕рдорд╛рди рдХреЛрдб рдкрд╣рд▓реЗ рд╣реА MrMYSTIC рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ )ред
рдирд┐рд░реНрд╡рд┐рд╡рд╛рдж рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдореИрдВ jsfield рдореЗрдВ рдЧрдпрд╛ рдФрд░ eval рдХреЗ рдмрдЬрд╛рдп рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдкреЗрдЬ рдкрд░ рд▓рд╛рдпрд╛ред рдпрд╣ рд╕рд░рд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд: рдкрде рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред рдЬреЛ рдХрд╛рдо рдХрд┐рдпрд╛ред

рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕реНрдХреИрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдереЛрдбрд╝рд╛ "рдХрдВрдШреА" рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЪрд╛рд░реЛрди рдФрд░ рдкреНрд░реЛ 100tak рдХреА рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж (рдпрджрд┐ рдореИрдВ рд╡реЛрдЯ рджреЗ рд╕рдХрддрд╛ рдерд╛ рддреЛ + рдбрд╛рд▓реВрдБрдЧрд╛ )ред

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреБрд░рд╛рдирд╛ рд╣реИ, рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд▓рд╛рдЗрди рд╕реЗ рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдкрд╣рдЪрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдХрд┐ рд╕реНрдХреИрдирд░ рдХреЛ рдХрд┐рд╕ рдкрд░ рдкрдХрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдирд┐рд░реНрджрд┐рд╖реНрдЯ Agel_Nash рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕реНрдХреИрдирд░ рдиреЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрдХреНрд░рдорд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ред рдпрд╣ рдЕрдЬреАрдм рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рднрд▓реЗ рд╣реА рд╣рдЬрд╛рд░реЛрдВ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╕реИрдХрдбрд╝реЛрдВ .js рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдлрд╛рдЗрд▓реЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред рдореИрдВрдиреЗ рдЦреБрджрд╛рдИ рдФрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ, рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдЪрдпрдирд┐рдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЗрд╕ рддрдереНрдп рдХреЗ рдорджреНрджреЗрдирдЬрд░ рд╣рд░ рдЬрдЧрд╣ рдирд╣реАрдВ рдкрд╛рдП рдЧрдП рдХрд┐ рдпрд╣ рдкрд░рд┐рдорд┐рдд рдирд╣реАрдВ рд╣реИред рдЪреБрдирд┐рдВрджрд╛ рд░реВрдк рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреВрд░реА рдкрд░ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реБрдП, рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛:
)try{Boolean().prototype.q}catch(egewgsd){f=[ 

рдФрд░
 )try{Date().prototype.q}catch(egewgsd){f=[ 

рдЕрдВрддрд░ рдЫреЛрдЯрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИ:
 Date()  Boolean() 

рд╕рдВрднрд╡рддрдГ, рд╕рднреА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рддрд╛рд░реАрдЦреЗрдВ, рд╕рдВрдЦреНрдпрд╛рдПрдВ, рддрд╛рд░, рдФрд░ рдмрд╣реБрдд рдХреБрдЫред рдареАрдХ рд╣реИ, рддреЛ рд╣рдо рдмрд╛рдХреА рд▓рд╛рдЗрди рд▓реЗрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН:
 ().prototype.q}catch(egewgsd){f=[ 

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

рдореИрдВрдиреЗ рд╕реНрдХреИрдирд░ рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЙрд╕рдиреЗ рдлрд┐рд░ рд╕реЗ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд┐рдпрд╛, рдирд┐рд░рд╛рд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдкрд░рд┐рд╡рд░реНрддрди:
- рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдПрдХ рд╕реВрдЪреА рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ (рдлрд┐рд▓рд╣рд╛рд▓ рдЙрдирдореЗрдВ рд╕реЗ рджреЛ рд╣реИрдВ, рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рд▓рд╛рдЗрди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рд╕реНрдХреИрдирд░ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ);
- рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреМрди рд╕реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкрд╛рдП рдЧрдП рд╣реИрдВ;
- рдмреИрдХрдЕрдк (рдбрд┐рд▓реАрдЯ_рдмреИрдХрдЕрдк ()) рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдлрдВрдХреНрд╢рди;
- рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ):
  $dron->find(); $dron->scan(); $dron->restore_backups(); $dron->delete_backups(); 

- рд╕реНрдХреИрдирд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдорд╛рд▓рд┐рдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреАред рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛:
  /* //     $unformated_path_stat = stat($path); $path_stat = posix_getpwuid($unformated_path_stat['uid']); $path_user_name = $path_stat['name']; //     chown($path, 'www'); */ ... //     // chown($path, $path_user_name); 

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

рдореИрдВ рд╡рд┐рд╕реНрддреГрдд рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рд╕реНрдХреИрдирд░ рдХрд╛ рдХреЛрдб рд▓рд╛рддрд╛ рд╣реВрдВ:
 <? /* ---------------------------------------------------------------------------------- dScaner Class - START ---------------------------------------------------------------------------------- */ /** * @param : dScaner * @param :          *    * * @param :   * @param  : 0.0.5 (13-04-2012) * */ Class dScaner { //   private $arr_files = array(); //     public $signatures = array( '=Array.prototype.slice.call(arguments).join(""),', '().prototype.q}catch(egewgsd){f=[' ); /** *      * * @param string $get_str   * @param string $separator     * @return array -    FALSE */ function request($get_str, $separator) { if (!empty($get_str)) { //        $obj = explode($separator, $get_str); return $obj; } else { return false; } } /** *       * * @param string $path -   ,      * @param string $files_allowed -  ,    */ function dir_content($path = './', $files_allowed = '.') { //      ,    $dir_disallow = array('.', '..', '.htaccess', '.git', 'zlordwaters'); if(is_dir($path)) { $temp = opendir($path); while (false !== ($dir = readdir($temp))) { if ((is_dir($path . $dir)) && (!in_array($dir, $dir_disallow)) ) { //   -   $sub_dir = $path . $dir . '/'; $this->dir_content($sub_dir, $files_allowed); } elseif ((is_file($path . $dir)) && (!in_array($dir, $dir_disallow)) && (strpos($dir, $files_allowed) == true) && (strpos($dir, '_BACKUP') == false) && (strpos($dir, trim($_SERVER['SCRIPT_NAME'], '/')) === false) ) { //  ,     $this->arr_files[] = $path . $dir; } } closedir($temp); } } /** *       : * * @param string $path -   ,      * @param string $files_allowed -  ,    * @param string $requested_string -   */ function find($path = './', $files_allowed = '.', $requested_string = '().prototype.q}catch(egewgsd){f=[') { //      $this->dir_content($path, $files_allowed); foreach($this->arr_files AS $in_dir_file) { //     $temporary_file = file_get_contents($in_dir_file); //      $file_founded = false; //     $tf_strings = explode("\n", $temporary_file); //    foreach ($tf_strings AS $item) { //     $item = strval($item); if (strpos($item, $requested_string) !== false) { $file_founded = true; $founded_str = $requested_string; } //     foreach ($this->signatures AS $signa) { $signa = strval($signa); if (strpos($item, $signa) !== false) { $file_founded = true; $founded_str = $signa; } } } //      if ($file_founded) { //         print "<span style='display:block; padding:5px; border:1px solid #1f4f18; background-color:#d5f5ce; font-size:12px; line-height:16px; font-family:tahoma, sans-serif; margin-bottom:-15px;'><h3>" . $in_dir_file . "</h3>     . <br> C: <b>" . $founded_str . "</b> </span><br>"; } } } /** *    : * * @param string $path -   ,      * @param string $files_allowed -  ,    * @param string $requested_string - ,       */ function scan($path = './', $files_allowed = '.', $requested_string = '().prototype.q}catch(egewgsd){f=[') { //      $this->dir_content($path, $files_allowed); foreach($this->arr_files AS $in_dir_file) { //     $temporary_file = file_get_contents($in_dir_file); //    $create_backup = false; //         $tf_strings = explode("\n", $temporary_file); //    $str_index = 0; //     foreach ($tf_strings AS $item) { //     $item = strval($item); if (strpos($item, $requested_string) !== false) { //        //   ,      $create_backup = true; //       unset($tf_strings[$str_index]); $founded_str = $requested_string; } //     foreach ($this->signatures AS $signa) { $signa = strval($signa); if (strpos($item, $signa) !== false) { //        //   ,      $create_backup = true; //       unset($tf_strings[$str_index]); $founded_str = $signa; } } //     $str_index++; } //   if ($create_backup) { /* //     $unformated_path_stat = stat($path); $path_stat = posix_getpwuid($unformated_path_stat['uid']); $path_user_name = $path_stat['name']; //     chown($path, 'www'); */ //              chmod($path, 0777); //     $temp_file_backup = $in_dir_file.'_BACKUP'; //       file_put_contents($temp_file_backup, $temporary_file); //      $scanned_file = implode("\n", $tf_strings); //    if (file_put_contents($in_dir_file, $scanned_file)) { //   print "<span style='display:block; padding:5px; border:1px solid #1f4f18; background-color:#d5f5ce; font-size:12px; line-height:16px; font-family:tahoma, sans-serif; margin-bottom:-15px;'><h3>" . $in_dir_file . "</h3>  . (+ BACKUP) <br> C: <b>" . $founded_str . "</b> </span><br>"; } else { //    print "<span style='display:block; padding:5px; border:1px solid #822121; background-color:#ea7575; font-size:12px; line-height:16px; font-family:tahoma, sans-serif; margin-bottom:-15px;'><h3>" . $in_dir_file . "</h3>   . C: <b>" . $founded_str . "</b> </span><br>"; } //          755 chmod($path, 0755); //     // chown($path, $path_user_name); } } } /** *     * * @param string $path -   ,      * @param string $files_allowed -  ,    */ function restore_backups($path = './', $files_allowed = '.') { //      $this->dir_content($path, $files_allowed); foreach($this->arr_files AS $in_dir_file) { if (is_file($in_dir_file.'_BACKUP')) { //  ,    $temporary_file_from_backup = file_get_contents($in_dir_file.'_BACKUP'); //    if (file_put_contents($in_dir_file, $temporary_file_from_backup)) { //   unlink($_SERVER['DOCUMENT_ROOT'].'/'.$in_dir_file.'_BACKUP'); //   print "<span style='display:block; padding:5px; border:1px solid #1f4f18; background-color:#d5f5ce; font-size:12px; line-height:16px; font-family:tahoma, sans-serif; margin-bottom:-15px;'><h3>".$in_dir_file ."</h3> . </span><br>"; } else { //    print "<span style='display:block; padding:5px; border:1px solid #822121; background-color:#ea7575; font-size:12px; line-height:16px; font-family:tahoma, sans-serif; margin-bottom:-15px;'><h3>".$in_dir_file ."</h3>  . </span><br>"; } } } } /** *     * * @param string $path -   ,       * @param string $files_allowed -  ,    */ function delete_backups($path = './', $files_allowed = '.') { //      $this->dir_content($path, $files_allowed); foreach($this->arr_files AS $in_dir_file) { if (is_file($in_dir_file.'_BACKUP')) { //  ,   if (unlink($_SERVER['DOCUMENT_ROOT'].'/'.$in_dir_file.'_BACKUP')) { print " <span style='display:block; padding:5px; border:1px solid #1f4f18; background-color:#d5f5ce; font-size:12px; line-height:16px; font-family:tahoma, sans-serif; margin-bottom:-15px;'><h3>".$in_dir_file ."_BACKUP</h3> . </span><br>"; } else { //    print "<span style='display:block; padding:5px; border:1px solid #822121; background-color:#ea7575; font-size:12px; line-height:16px; font-family:tahoma, sans-serif; margin-bottom:-15px;'><h3>".$in_dir_file ."_BACKUP</h3>  . </span><br>"; } } } } } /* ---------------------------------------------------------------------------------- dScaner Class - END ---------------------------------------------------------------------------------- */ ?> 

рдЦреИрд░, рдмреБрдирд┐рдпрд╛рджреА рдЦреЛрдЬ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред
 <? //    -  $dron = new dScaner; //       $dron->find('./', '.'); //   // $dron->scan('./', '.'); //    // $dron->restore_backups('./', '.'); //    // $dron->delete_backups('./', '.'); ?> 


рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣ рд╕рдм рд╣реИ рдЬреЛ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдЖрдк рдФрд░ рдЙрдирдХреЗ рд╕реНрдерд┐рд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╕рд╛рдл рд╕рд░реНрд╡рд░ред
рд╕рд╛рджрд░ рдкреНрд░рдгрд╛рдо!

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


All Articles