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

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

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

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

echo 'http://somedomain.com/style.js'; 

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

рд╕рд░реНрд╡рд░ рдзреАрд░реЗ-рдзреАрд░реЗ "рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд" рдХрд░рдиреЗ рд▓рдЧрд╛ рдФрд░ рд╕рд╛рдЗрдЯреНрд╕ Yandex рдкрд░ рд▓реМрдЯ рдЖрдИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИрдВред рдПрдлрд╝рдЯреАрдкреА рдкрд╣реБрдВрдЪ, рдХреЛрдИ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдФрд░ рд╢реЗрд▓ рдирд╣реАрдВред рд▓рдЧрднрдЧ рд╕рднреА рд╕рд╛рдЗрдЯреЗрдВ fededitor'om рдпрд╛ ckeditor'ov рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдПрдХ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕реАрдПрдордПрд╕ (рд╡рд░реНрд╖реЛрдВ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд┐рдд рдПрди рд╕рдВрдЦреНрдпрд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред Ckfinder рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЬрд╛рдБрдЪ рдХреЛ рд╕рд╛рдзрд╛рд░рдг рд░рд┐рдЯрд░реНрди рдЯреНрд░реВ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЕрдирд┐рдЪреНрдЫрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХрдИ рд╕рдВрдХреНрд░рдорд┐рдд * .js рдлрд╛рдЗрд▓реЗрдВ рдПрдХ рд╕рд╛рдл рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЙрддрд╛рд░рдХрд░ рдареАрдХ рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреАрдВред рд╣рдо рдРрд╕реА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ Git рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреИрдХрдЕрдк рдЕрдзрд┐рдХрддрдо 7 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдЪреВрдВрдХрд┐ рддреГрддреАрдп-рдкрдХреНрд╖ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рд╕реНрдерд┐рдд рд╕рд╛рдЗрдЯреЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рдЧрд░рд╛рдиреА рдирд╣реАрдВ рд░рдЦрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдмреИрдХрдЕрдк рднреА рд╕рдВрдХреНрд░рдорд┐рдд рдереЗред

рд╡рд╛рдпрд░рд╕ рдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдкреНрд░рддрд┐рдпреЛрдВ рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдПрдХ рд╕реЗ рдкрд╛рдВрдЪ рддрдХ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ (рдореИрдВ рдЕрдм рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ) рдФрд░ рдЙрди рд╕рднреА рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░ рдирд╛рдо, рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рдереЗ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдЪрд┐рдкрдЯрдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛ред рдкреНрд░рддреНрдпреЗрдХ рдмрд╣реБрд░реВрдкрд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕реНрдерд┐рд░ рднрд╛рдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЕрдиреБрднрд╛рдЧ рдерд╛:
 =Array.prototype.slice.call(arguments).join(""), 

рдЙрдиреНрд╣реЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред Jquery рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ 1.6.3 рдФрд░ 1.7.2 рдХреА рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рддреЛ рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯ рдкрд░ рджрд░реНрдЬрдиреЛрдВ * .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд░реЗрд╢рд╛рди рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, php рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдЙрд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ рдЗрдВрдЧрд┐рдд рдХреА рдЧрдИ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХреНрд╖рд┐рддрд┐рдЬ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рд╖реНрдкрд╛рджрди (), рд╕рд┐рд╕реНрдЯрдо () рдХрдорд╛рдВрдб рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, phpseclib рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЕрдкрдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╣реИ: рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджрд┐рдП рдЧрдП рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЦреЛрдЬ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рд╛рдЗрди рдХреА рдЦреЛрдЬ рдореЗрдВ рд╕реНрдХреИрди рдХрд░рддреА рд╣реИред рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрддреА рд╣реИ (рдареАрдХ рд╣реИ, рдЖрдк рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реИ) рдФрд░ рдЙрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рдХрд▓реНрдк рдореМрдЬреВрдж рд╣реИред рд▓рд╛рдЗрди-рдмрд╛рдп-рд▓рд╛рдЗрди рдХрд╛ рдХрд╛рдо рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╡рд╛рдпрд░рд╕ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рдореИрдВ рдПрдХ .js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд╛рдпрд░рд╕ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛: pastebin.com/J0zRduQw

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

 <? /* ---------------------------------------------------------------------------------- dScaner Class - START ---------------------------------------------------------------------------------- */ /* * *  - dScaner         *    * * :   *  : 03-04-2012 *  : 0.0.3 * */ Class dScaner { //      // $get_str -   // $separator -     function request($get_str, $separator) { if (isset($get_str) && !empty($get_str)) { //        $obj = explode($separator, $get_str); return $obj; } else { return false; } } /* * *       : * * $this->find($path, $files_allowed, $requested_string); * * $path -   ,      * $files_allowed -  ,    * $requested_string -   * */ function find($path = './', $files_allowed, $requested_string) { //      ,    $dir_disallow = array('.', '..', '.htaccess', '.git'); 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->find($sub_dir, $files_allowed, $requested_string); } elseif ((is_file($path . $dir)) && (!in_array($dir, $dir_disallow)) && (strpos($dir, $files_allowed) == true) && (strpos($dir, '_BACKUP') == false) ) { //   //      $in_dir_file = $path . $dir; //     $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; } } //      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;'>" . $in_dir_file . " -     .<br> </span><br>"; } } } closedir($temp); } } /* * *    : * * $this->scan($path, $files_allowed, $requested_string); * * $path -   ,      * $files_allowed -  ,    * $requested_string - ,       * */ function scan($path = './', $files_allowed, $requested_string) { //       $dir_disallow = array('.', '..', '.htaccess', '.git'); 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 . '/'; $new_parent_dir = $path . $dir; $this->scan($sub_dir, $files_allowed, $requested_string, $new_parent_dir); } elseif ((is_file($path . $dir)) && (!in_array($dir, $dir_disallow)) && (strpos($dir, $files_allowed) == true) && (strpos($dir, '_BACKUP') == false) ) { //   //      $in_dir_file = $path . $dir; //     $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]); } $str_index++; } //   if ($create_backup) { //              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;'>" . $in_dir_file . " -  . (+ BACKUP) <br> </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;'>".$in_dir_file ." -   . </span><br>"; } //          755 chmod($path, 0755); } } } closedir($temp); } } /* * *     * * $this->restore_backups($path, $files_allowed); * * $path -   ,      * $files_allowed -  ,    * */ function restore_backups($path = './', $files_allowed) { //       $dir_disallow = array('.', '..', '.htaccess', '.git'); 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->restore_backups($sub_dir, $files_allowed); } elseif ((is_file($path . $dir)) && (!in_array($dir, $dir_disallow)) && (strpos($dir, $files_allowed) == true) ) { //   //      $in_dir_file = $path . $dir; 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;'>".$in_dir_file ." - . </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;'>".$in_dir_file ." -  . </span><br>"; } } } } closedir($temp); } } } /* ---------------------------------------------------------------------------------- dScaner Class - END ---------------------------------------------------------------------------------- */ ?> 

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

рд╕реНрдХреИрдирд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдБред

 $dron = new dScaner; 

рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рджреЗрдЦрдирд╛ рд╕рд╛рд░реНрдердХ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдлрд╛рдЗрд▓ рд╣реИ рдЬреЛ рдЦреЛрдЬ рдХреА рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИред

 $dron->find('./', '.js', '=Array.prototype.slice.call(arguments).join(""),'); 

рд╣рдо рдЫреАрдирдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред

 $dron->scan('./', '.js', '=Array.prototype.slice.call(arguments).join(""),'); 

рдХрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рд╣рдореЗрд╢рд╛ рдмрдирд╛рдП рдЧрдП рдмреИрдХрдЕрдк рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 $dron->restore_backups('./', '.js'); 

рд╕реНрдХреИрдирд░ рдХреЛ рдХрдИ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрд╡рд╛рдореА рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрд╡рд╛рдореА 'www: www рд╣реИред рдФрд╕рддрди, рдХрдИ рджрд░реНрдЬрди * .js рдлрд╝рд╛рдЗрд▓реЛрдВ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ 5-10 рд╕реЗ 20 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓реЗрддреА рд╣реИред рдФрд░ рдореИрдВ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реВрдВ, рдЬрд┐рд╕ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЗрдиреНрдлреЛрдмреЙрдХреНрд╕, рдПрдЧрд╛рд╡рд╛, рдЬреЗрдиреЛ, рдПрдордХреЛрд╕реНрдЯ, рдПрдЪрд╕реАред рд╕рднреА рдореЗрдВ рд╕реЗ, рдореЛрд╕реНрдЯреЛрд╕реНрдЯ рд╕рдмрд╕реЗ рдзреАрдорд╛ рдерд╛, рдмрд╛рдХреА рдкрд░, рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рдЪрд╛рд▓рд╛рдХреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред

PS рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдпрд░рд╕ рдХреЗ рд▓рд┐рдП рд░рд╛рдордмрд╛рдг рд╣реЛрдиреЗ рдХрд╛ рдвреЛрдВрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЗрд╕реЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдж рдХреЗ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рд╕рд╛рджрд░ рдкреНрд░рдгрд╛рдо!

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


All Articles