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

рдЕрдм Google, рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рд╕рдорд╛рди рдкреЗрдЬ рд╕реЗ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рдкрд░ рдХрд┐рд╕ рддрд░рд╣ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдИ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рд╕рд╛рд░ рдореЗрдВ рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдП (рд▓реЗрдЦ, рдЙрддреНрдкрд╛рдж, рд╡реАрдбрд┐рдпреЛ ..)
рд╣рдореЗрдВ рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдХрд╛рд░реНрдп рд╕рд░рд▓ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рд▓рдЧрддрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╕рдорд╛рдзрд╛рди рдХреНрд▓рд╛рдЗрдВрдЯ рдкрдХреНрд╖ рдФрд░ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЗ рдЬрдВрдХреНрд╢рди рдкрд░ рд╕реНрдерд┐рдд рд╣реИ ("рд╕реНрд╡рдЪреНрдЫ" рдЬреЗрдПрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╛рдЗрд▓ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЙрд╕реА рд╕рдордп, рдореБрдЭреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рд▓реЗрдЦ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ рд╢реБрд░реБрдЖрдд рд╕реЗ рдЕрдВрдд рддрдХ рд╕рднреА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛ред рдореИрдВ
рдмреЗрд╡реЗрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╣рдорд╛рд░реА рд╕реБрд░рдХреНрд╖рд╛
рдЯреАрдо рдХреЛ рдЙрдирдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рд╡реЗрдмрдорд╛рд╕реНрдЯрд░ рдЖрд╕рд╛рдиреА рд╕реЗ (рдПрдХ рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде) рдЕрдкрдиреЗ рдкреГрд╖реНрда рдХреЗ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП xPath рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдЗрдлреНрд░реЗрдо "рд╕реЗрдо рдУрд░рд┐рдЬрд┐рди"
рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ, рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рдкреГрд╖реНрда рдХрд╛ URL рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╣рдо рдЗрд╕реЗ iFrame рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ, рд╡реНрдпрдХреНрддрд┐ рдорд╛рдЙрд╕ рдХреЛ рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рд╡рд╣рд╛рдВ рдкреНрд░рд╣рд╛рд░ рдХрд░реЗрдЧрд╛, рд╣рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд xPath рдорд┐рд▓реЗрдЧрд╛ред рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рдХреЗ рдХрд╛рд░рдг, рд╣рдорд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ (рд╣рдорд╛рд░реЗ рдбреЛрдореЗрди) рдореЗрдВ iframe рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЛрдореЗрди рд╕реЗ рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА рддрдХ рд╣рдорд╛рд░реА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред
рдХреЛрд░ - рдХреНрд░реЙрд╕ рдУрд░рд┐рдЬрд┐рдирд▓ рд░рд┐рд╕реЛрд░реНрд╕ рд╢реЗрдпрд░рд┐рдВрдЧ
рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рдореБрдЭреЗ рдХреЙрд░реНрд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреАред рдПрдХ рдлреИрд╢рдиреЗрдмрд▓ рддрдХрдиреАрдХ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЛрдореЗрди рд╕реЗ рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╕рдорд╛рди рдореВрд▓ рдиреАрддрд┐ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
рд╡рд╣ рд╕рд╛рдЗрдЯ рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рджреЗрд╢реА рдбреЛрдореЗрди рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдБрдЪ рджреЗрдирд╛ рдЪрд╛рд╣рддреА рд╣реИ, рдмрд╕ http рд╣реЗрдбрд░ рдореЗрдВ рд▓рд┐рдЦрддреА рд╣реИ:
Access-Control-Allow-Origin: http://example.com
рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рджреВрд╕рд░реЗ рдбреЛрдореЗрди рдХреЗ рдкреЗрдЬ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЗ http рд╣реЗрдбрд░ рдореЗрдВ рдореВрд▓ рдХреНрд╖реЗрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
Origin: www.mysupersite.com
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдлрд╝реАрд▓реНрдб рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╣рдо рд╣реИрдмреЗ рдкрд░ рдПрдХ рд▓реЗрдЦ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдФрд░ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореВрд▓ рдХреЛ рдЙрд╕реА рдбреЛрдореЗрди рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

рд▓реЗрдХрд┐рди:
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ iframe рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рд╣реЗрдбрд░ рдореЗрдВ рдореВрд▓ рдирд╣реАрдВ рдбрд╛рд▓рддрд╛ рд╣реИ (рдХреНрдпрд╛ рдХреЛрдИ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ?)
- рд╣рдо рд╡реЗрдмрдорд╛рд╕реНрдЯрд░реНрд╕ рд╕реЗ рдПрдХреНрд╕реЗрд╕-рдХрдВрдЯреНрд░реЛрд▓-рдЕрдиреБрдорддрд┐-рдореВрд▓ рд╣реЗрдбрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдЖрдИрдлреНрд░реЗрдо рд╕реИрдВрдбрдмреЙрдХреНрд╕
рдПрдХ рдФрд░ рдлреИрд╢рдиреЗрдмрд▓ рддрдХрдиреАрдХред
рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдЖрдИрдлреНрд░реЗрдо рдЯреИрдЧ рдХрд╛ рдПрдХ рдЧреБрдг рд╣реИред рдЖрдк рдорд╛рди
-рд╕рдорд╛рди-рдореВрд▓ рдХреЛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рдЦреЛрджрдирд╛ рд╢реБрд░реВ рдХрд░реВрдБ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреНрдпрд╛ рдХрд░ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╣реА рдЖрдХрд░реНрд╖рдХ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реИрдВрдбрдмреЙрдХреНрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗрд╡рд▓ рдпрд╣ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ iframe рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреГрд╖реНрда рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ рдлрд╝реНрд░реЗрдо рдХреА рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдорд╛рди
рдЕрдиреБрдорддрд┐-рд╕рдорд╛рди-рдореВрд▓ (рдпрд╛ рдЗрд╕рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐) рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ iframes рдХреЛ рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдбреЛрдореЗрди рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдлреНрд░реЗрдо рд╕реЗ рдореВрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП AJAX рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ)
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ Google рджреНрд╡рд╛рд░рд╛ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдмрдбрд╝реЗ рднрд╛рдИ рдиреЗ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕рдордп рдирд┐рдХрд╛рд▓рд╛

Iframe рддрддреНрд╡ рдХреА src рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:
src="https://wmthighlighter.googleusercontent.com/webmasters/data-highlighter/RenderFrame/007....."
- рд╣рдорд╛рд░рд╛ рдкреЗрдЬ Google рдбреЛрдореЗрди рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдЧрдВрднреАрд░: рд╕реНрд░реЛрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЪрд┐рддреНрд░ рднреА рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╕рднреА src, href ... html рдореЗрдВ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:


рдЖрдкрдХреЗ рдкреГрд╖реНрда рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╕рдВрд╕рд╛рдзрди Google рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред
Google рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдкрд░ рд╣рдорд╛рд░реЗ
рд▓реЛрдЧреЛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред
CGIProxy?
рдпрд╣
рддреБрд░рдВрдд рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд╡рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ
CGIProxy рдХреА рддрд░рд╣ рдПрдХ рдкреВрд░реНрдг рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рд▓рдЧрднрдЧ Google рдХреА wmthighlighter.googleusercontent.com рдЬреИрд╕реА рд╣реА рдЪреАрдЬрд╝ рдХрд░рддрд╛ рд╣реИ
рдмреНрд░рд╛рдЙрдЬрд╝рд┐рдВрдЧ рд╕рддреНрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ URL рдкрд░ рдЬрд╛рдПрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдкреГрд╖реНрда рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдм рдХреБрдЫ рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдЙрди рдкреГрд╖реНрдареЛрдВ рдХреЛ рдмреБрдХрдорд╛рд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЗ рдмреБрдХрдорд╛рд░реНрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХрд┐рдпрд╛ рдерд╛ред
рдЖрдкрдХрд╛ рдкреНрд░реЙрдХреНрд╕реА!
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдХрд╛рд░реНрдп рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рд░рд▓ рдкреНрд░реЙрдХреНрд╕реА рд▓рд┐рдЦрдирд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ Google рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рддрд╛ рд╣реИ, рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЪрд▓рд╛рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рд╣рдореЗрдВ рдЕрдкрдиреЗ рдбреЛрдореЗрди рд╕реЗ рджрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдкреГрд╖реНрда рдХрд╛ html рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореВрд▓ рдбреЛрдореЗрди рд╕реЗ рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред Https рд╣рдо рдЕрдм рддрдХ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рд╣реИред
рд╕реБрдкрд░ рдкреНрд░рджрд░реНрд╢рди рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд▓рдХреНрд╖реНрдп рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдиреЛрдб.рдЬреЗрдПрд╕ рд╕реЗ рдкреАрдПрдЪрдкреА рддрдХ рдЬрд▓реНрджреА рдФрд░ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдкрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдордиреЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд▓реЗрдЯ рд▓рд┐рдЦрд╛ред
рдбрд╛рдЙрдирд▓реЛрдб рдкреГрд╖реНрда
рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд▓реЗрдЯ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдкреНрд░рд╛рдкреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рдХрд╛ url рдорд┐рд▓рддрд╛ рд╣реИ, рдлрд┐рд░ рдкреГрд╖реНрда рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
рдкреГрд╖реНрда рдХреА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ (рдПрдЪрдЯреАрдПрдордПрд▓ рдореЗрдВ http рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдЪрд╛рд░рд╕реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ - рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЙрд╕реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдкреГрд╖реНрда рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдкрд╛рда / html рдореЗрдВ рдПрдХ рдкреГрд╖реНрда рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рджреЗрдирд╛ рд╣реИред
final String url = request.getParameter("url"); final HttpGet requestApache = new HttpGet(url); final HttpClient httpClient = new DefaultHttpClient(); final HttpResponse responseApache = httpClient.execute(requestApache); final HttpEntity entity = responseApache.getEntity(); final String encoding = EntityUtils.getContentCharSet( entity ); final String mime = EntityUtils.getContentMimeType(entity); String responseText = IOUtils.toString(entity.getContent(), encoding);
* рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреЛрдб рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ: рд╣рдорд╛рд░реА рдЯреАрдо рдореЗрдВ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╛рди рдХреЛрдб рд╕реНрд╡рд░реВрдкрдг рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ, рдФрд░ рдЬрдм рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рдЧреНрд░рд╣рдг рд╕реНрд╡рдпрдВ рд╕рднреА рдЕрдВрддрд┐рдо рдЪрд░ рдХреЗ рд▓рд┐рдП рдЕрдкреАрд▓ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рд╡реЗ рдХрд╣реАрдВ рдФрд░ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЕрдВрдд рдореЗрдВ рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИредрдкреЗрдЬ рдХреЛрдб рдореЗрдВ рд╕рд╛рдкреЗрдХреНрд╖ URL рдХреЛ рдирд┐рд░рдкреЗрдХреНрд╖ рдореЗрдВ рдмрджрд▓реЗрдВ
рдЖрдкрдХреЛ рдкреГрд╖реНрда рдореЗрдВ src рдФрд░ href (рд╢реИрд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ, рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдкрде) рдХреЗ рд╕рд╛рде рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╕рд╛рдкреЗрдХреНрд╖ URL рдХреЛ рдкреВрд░реНрдг рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдЕрдиреНрдпрдерд╛, рдкреГрд╖реНрда рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рдХреБрдЫ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рд╕реЗ рдЪрд┐рддреНрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛, рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рддреИрдпрд╛рд░ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ, рдпрд╛ рдЖрдк рд╕реНрдЯреИрдХрдУрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
final URI uri = new URI(url); final String host = uri.getHost(); responseText = replaceRelativeLinks(host,responseText);
рд╣рдо html рднреЗрдЬрддреЗ рд╣реИрдВ
рдпрд╣реА рд╣реИ, рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд▓реЗрдЯ рддреИрдпрд╛рд░ рд╣реИред рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдорд╛рдЗрдо рд╕реЗрдЯ рдХрд░рддреЗ рд╣реБрдП, рдЙрддреНрддрд░ рднреЗрдЬрддреЗ рд╣реИрдВред
protected void sendResponse(HttpServletResponse response, String responseText, String encoding, String mime) throws ServletException, IOException { response.setContentType(mime); response.setCharacterEncoding(encoding); response.setStatus(HttpServletResponse.SC_OK); response.getWriter().print(responseText ); response.flushBuffer(); }
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рдкрд░реАрдХреНрд╖рдг
рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд▓реЗрдЯ рдХреЛ adminpanel.indexisto.com
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд╕рдорд╛рди рдкрддреЗ рдкрд░ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗрдмрдорд╛рд╕реНрдЯрд░ рдХреЗ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкреЗрдЬ рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдорд╛рд░реЗ iframe рдореЗрдВ
рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рднреА рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рд╕рдорд╕реНрдпрд╛рдПрдВ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
http://adminpanel.indexisto.com/highlighter?url=http://habrahabr.ru
- рдпрд╣ рд╣реИ рдХрд┐ рд╣рдмреНрд░ рд╣рдорд╛рд░реЗ рдбреЛрдореЗрди рд╕реЗ рдХреИрд╕реЗ рдмреВрдЯ рд╣реЛрдЧрд╛ред рд╣рдо iframe рдореЗрдВ рдпрд╣ рдкрддрд╛ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ JS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ HOM DOM рдЯреНрд░реА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ - рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред CSRF рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдкреГрд╖реНрда рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдХреАрдЬрд╝ рдирд╣реАрдВ рд╣реИрдВред
SSRF рдореБрджреНрджрд╛
рд╣рдо рдЕрдкрдиреЗ рдЖрдЗрдлреНрд░реЗрдо рдореЗрдВ рдПрдХ рд╕рд╛рдЗрдЯ рдХреЛ "рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ" рдкрддреЗ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ - рдЙрдлрд╝, рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдирдЧреАрдиреЗрдХреНрд╕ рдХрд╛ рд╢реБрд░реБрдЖрддреА рдкреГрд╖реНрда рд╣реИред рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдорд╛рди рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ (рдмрд╛рд╣рд░ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ) рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд_рдХреНрд░рд┐рдо.рдЗрдВрдбреЗрдХреНрд╕рд┐рд╕реНрдЯреЛ.рдХреЙрдо - рд╕рдм рдХреБрдЫ рдЬрдЧрд╣ рдореЗрдВ рд╣реИред
рдмреЗрд╢рдХ, рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЙрдХреНрд╕реА рдореЗрдВ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдХреЛрдИ рд╕реНрдерд╛рдиреАрдп рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдХрд┐рдП рдмрд┐рдирд╛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддреЗ рд╣реИрдВ:
if (url.contains("localhost")||url.contains("127")||url.contains("highlighter")||url.contains("file")) { LOG.debug("Trying to get local resource. Url = " + url); return; }
рд▓реЗрдХрд┐рди рд╣рдо рдпрд╣рд╛рдВ рд╕рднреА рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдерд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдорд╢реАрди рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ, рдЦреБрдж рдФрд░ рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рджрд┐рдЦрд╛рдИ рди рджреЗред рд╣рдо рдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдВ рдЕрдкрдирд╛ рд╕рд░реНрд╡рд▓реЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
XSS рдореБрджреНрджрд╛
рд╣рдо рдЕрдкрдиреЗ iframe рдореЗрдВ рдЕрдкрдирд╛ рдкреЗрдЬ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
<script>alert('xss')</script>
рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЪрдмреВрддрд░реЗред рдпрд╣ рджреБрдЦрдж рд╣реИред рдЖрдк рдЗрд╕ iframe рд╡рд┐рд╢реЗрд╖рддрд╛
рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдЕрдиреБрдорддрд┐-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ? рдЖрдк рдХреЗрд╡рд▓ рдЕрдкрдиреА рдХреБрдХреАрдЬрд╝ рдЪреБрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╡реИрд╕реЗ рднреА рдирд╣реАрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗред
рд╣рдо рди рдХреЗрд╡рд▓ рдПрдХ рдЕрд▓рдЧ рдорд╢реАрди рдкрд░ рд╕рд░реНрд╡рд▓реЗрдЯ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдЙрдкрдбреЛрдореЗрди
highlighter.indexisto.com рднреА рдмрдирд╛рддреЗ
рд╣реИрдВ ред
рд╣рдо рдкрд╣реБрдВрдЪреЗ, рд╣рдордиреЗ рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рддреЛрдбрд╝ рджрд┐рдпрд╛ред рдЕрдм рд╣рдо рдлрд┐рд░ рд╕реЗ iframe рд╕рд╛рдордЧреНрд░реА рддрдХ рдирд╣реАрдВ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗред
рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░ред
Google рд╕реЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХрдЯреМрддреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдкреЗрдЬ рдЦреЛрд▓рд╛, рдЬреЛ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдЕрдЬреАрдм рддреНрд░реБрдЯрд┐ рджреЗрдЦреА рдЧрдИред
CrossPageChannel: Can't connect, peer window-object not set.
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдПрдХ рд╕рдВрдЧрдард┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдм рдХреБрдЫ рдЖрдкрдХреЗ рдбреЛрдореЗрди рд╕реЗ рдПрдХ iframe рдореЗрдВ рдХреЗрд╡рд▓ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдкреЗрдЬ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рд╣рдо
window.postMessage рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╣реИрдВ
рд╕рдВрджреЗрд╢ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╡реЗрдмрдорд╛рд╕реНрдЯрд░реЛрдВ рдХреЛ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреГрд╖реНрда рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдкреГрд╖реНрда рддрддреНрд╡реЛрдВ рдХреЛ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рдЗрди рддрддреНрд╡реЛрдВ рдХреЗ xPath рдХреЛ рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореВрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рд╣рдореЗрдВ рднреЗрдЬреЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЛрдИ рднреА рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ iFrame рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреЗрдЬ рдкрд░ рдХрд┐рд╕реА рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХ рд░рд╣рд╛ рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рдорд╛рдкрди
рдирд┐рдХрд╛рдп рд╕реЗ рдкрд╣рд▓реЗ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛
рд╣реИ :
final int positionToInsert = responseText.indexOf("</body>"); final InputStream inputStream = getServletContext().getResourceAsStream("/WEB-INF/inject.js"); final StringWriter writer = new StringWriter(); IOUtils.copy(inputStream, writer); final String jsToInsert = writer.toString(); responseText = responseText.substring(0, positionToInsert) + jsToInsert + responseText.substring(positionToInsert, responseText.length());
рдЕрд▓рд░реНрдЯ рдХреЗ рд▓рд┐рдП, рдЕрд▓рд░реНрдЯ рдбрд╛рд▓реЗрдВ - рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЬреЗрдПрд╕ рднрд╛рдЧ - рд╣рд╛рде рдХреЗ рдиреАрдЪреЗ рдШрд░ рдХреЗ рддрддреНрд╡ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдВ рдФрд░ xpath рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдареАрдХ рд╣реИ, рд╣рдо рдЬреЗрдПрд╕ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ рдЬреЛ рд╣рдордиреЗ рд╡реЗрдмрдорд╛рд╕реНрдЯрд░ рдХреЗ рдкреЗрдЬ рдкрд░ рдбрд╛рд▓рд╛ рдерд╛ред
рд╣рдореЗрдВ рдЙрди рдкреНрд░рдореБрдЦ рддрддреНрд╡реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рди рдкрд░ рд╡реНрдпрдХреНрддрд┐ рдорд╛рдЙрд╕ рдХреЛ рдЪрд▓рд╛рддрд╛ рд╣реИред рдЫрд╛рдпрд╛ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддрдм рддрддреНрд╡ рдирд╣реАрдВ рд╣рдЯреЗрдЧрд╛, рдФрд░ рдкреВрд░рд╛ рдкреГрд╖реНрда рдХреВрдж рдЬрд╛рдПрдЧрд╛ред рд╣рдо рд╢рд░реАрд░ рдкрд░ рд╣реИрдВрдЧрдУрд╡рд░ рдХреЛ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рд▓рдХреНрд╖реНрдп рдШрдЯрдирд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рдЙрд╕реА рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рдореИрдВ рддрддреНрд╡ рдХреЗ xpath рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реВрдВред рдХреНрд▓рд┐рдХ рдкрд░ xPath рддрддреНрд╡ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХрд┐рд╕реА рднреА рдмреНрд░реЗрдХ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ред
elmFrame.contentWindow.document.body.onmouseover= function(ev){ ev.target.style.boxShadow = "0px 0px 5px red"; curXpath = getXPathFromElement(ev.target); }
рдореИрдВ рдпрд╣рд╛рдБ DOM рддрддреНрд╡ рдХрд╛ xPath рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдБред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рд╣реИрдВред рдЗрди рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреЛ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ xpath рдореЗрдВ рдЯреИрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЖрдИрдбреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрджрд┐ рд╡реЗ рд╣реИрдВ рдФрд░ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ рдпрджрд┐ рдХреЛрдИ рдЖрдИрдбреА рдирд╣реАрдВ рд╣реИ - рд╣рд░ рдХрд┐рд╕реА рдХреА рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╣реИрдмрд░ рдХреЗ рд╣реИрдХ рдХрд┐рдП рдЧрдП рдореБрдЦреНрдп рдкреГрд╖реНрда рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
http://highlighter.indexisto.com/?md5=6ec7rdHxUfRkrFy55jrJQA==&url=http%3A%2F%2Fhabrahabr.ru&expires=1390468360рдЬреЗрдПрд╕ рднрд╛рдЧ - рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
Iframe рдореЗрдВ рдкреГрд╖реНрда рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдХреНрд▓рд┐рдХ рддреБрд░рдВрдд "рдорд░ рдЬрд╛рддрд╛ рд╣реИ" (iframe рдореЗрдВ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред рдФрд░ рд╣рдо рдкреНрд░рд╛рдкреНрдд xPath рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореВрд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рднреА рднреЗрдЬрддреЗ рд╣реИрдВ (рд╣рдордиреЗ рдЗрд╕реЗ рддрддреНрд╡ рдХреЗ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ рдХреЗ рдЪрд░рдг рдореЗрдВ рднреА рд╕рд╣реЗрдЬрд╛ рд╣реИ)
document.body.onclick = function(ev){ window.parent.postMessage( curXpath, "*"); ev.preventDefault(); ev.stopPropagation(); }
рд▓рд╛рдн!
рдпрд╣ рд╕рдм, рдЕрдм рд╣рдорд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рдпрд╣ рд╡реЗрдмрдорд╛рд╕реНрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП xpath рдкрде рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВред

рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝реЗрдВ
рдареАрдХ рд╣реИ, рд╕рдм рдХреБрдЫ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рдВрджреБ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдкреНрд░реЙрдХреНрд╕реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред рдХреЛрдИ рднреА рдХреБрдЫ рднреА рдШреЛрд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рдиреНрдпрдиреЗрдХреНрд╕ рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рдордиреЗ рд░рдЦрддреЗ рд╣реИрдВ, рдпрд╣ 80 рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ, рд╣рдо рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рджреВрд╕рд░реЗ рдкреЛрд░реНрдЯ рдкрд░ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред 80 рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЕрдиреНрдп рд╕рднреА рдмрдВрджрд░рдЧрд╛рд╣ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рд╕реЗ рдмрдВрдж рд╣реИрдВред
рдЕрдм рдЪрд▓реЛ рдХреЗрд╡рд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЬрд┐рд╕ рд╕рдордп рд╡реЗрдмрдорд╛рд╕реНрдЯрд░ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ URL рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рд╣рдо рдЬрд▓реНрджреА рд╕реЗ рдЙрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рд╣рдо рд╡рд░реНрддрдорд╛рди рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк + 1 рдШрдВрдЯреЗ рд╕реЗ md5 рд╣реИрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм URL рд╕реНрд╡рдпрдВ рдФрд░ рд╕реБрдкрд░ рд╕реАрдХреНрд░реЗрдЯ:
final String md5Me = timeStampExpires + urlEncoded + "SUPERSECRET"; final MessageDigest md = MessageDigest.getInstance("MD5"); md.reset(); md.update(md5Me.getBytes("UTF-8")); String code = Base64.encodeBase64String(md.digest()); code = code.replaceAll("/", "_"); code = code.replaceAll("\\+","-");
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЛрдб рдореЗрдВ рд╣рдореЗрдВ md5 рд▓рд╛рдЗрди рд╕рд╛рдорд╛рдиреНрдп рд╣реЗрдХреНрд╕ рдХреА рддрд░рд╣ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди base64 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ, рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк md5 рдореЗрдВ рд╣рдо рд╕реНрд▓реИрд╢ рдХреЗ рд▓рд┐рдП рдЕрдЬреАрдм рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд▓рд╕ рдЕрдХреНрд╖рд░ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдФрд░ рдбреИрд╢ рдХреЗ рд╕рд╛рдеред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ ngnix рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ base64 рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд░реНрдгрдорд╛рд▓рд╛
рдЙрдкрдХрд░рдг.ietf.org/html/rfc3548#page6/6рдФрд░ рдЬрд╛рд╡рд╛ рд╡рд┐рд╣рд┐рдд рдмреЗрд╕ 64 рджреЗрддрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ md5 рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо ifr рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреВрдЖрд░рдПрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
highlighter.indexisto.com/?md5=Dr4u2Yeb3NrBQLgyDAFrHg==&url=http%3A%2F%2Fhabrahabr.ru&expires=1389791582рдЕрдм nginx рдореЙрдбреНрдпреВрд▓
HttpSecureLinkModule рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдпрд╣ рдореЙрдбреНрдпреВрд▓ рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░реЛрдВ рдХреЗ md5 рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЖрдпрд╛ рдерд╛ (рдЙрд╕реА рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕рд░реНрд╡рд▓реЗрдЯ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд▓рд┐рдВрдХ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдВред
рдЕрдм рдХреЛрдИ рднреА рд╣рдорд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд╣ рдЫрд╡рд┐ рднреА рд╕рдореНрдорд┐рд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╣реАрдВ рдкрд░ рднреА рд╣реИ - рд╡реИрд╕реЗ рднреА рдПрдХ рдШрдВрдЯреЗ рдореЗрдВ рдЙрд╕рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЬрд╛рдПрдЧреАред
рдХрд┐ рд╕рднреА рд▓реЛрдЧ рд╣реИрдВ!
Google рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдорд╛рд░реНрдХрд░ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЖрдЧреЗ рдмрдврд╝ рдЧрдпрд╛ред рдкреГрд╖реНрда рдкрд░ рддрддреНрд╡ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдИ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдПрдХ рд╣реА рддрддреНрд╡ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦ рдХрд╛ рд╢реАрд░реНрд╖рдХ) рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк xpath рдХрд╛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХреЗрдВ рдФрд░ "id-2334" рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЖрдИрдбреА рдкреНрд░рдХрд╛рд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдкреГрд╖реНрда рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ ред рд╣рдорд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ, рдЬрдмрдХрд┐ xpath рдХреЛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╕рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП