рд╣рдордиреЗ рдИрдореЗрд▓ рдкрдврд╝рдиреЗ рдХреЛ рдХреИрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрдирд╛рдпрд╛: Yandex.Mail рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐

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

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

рдпрд╣ рдЕрднреА рднреА рдПрдХ рджреБрд░реНрд▓рдн рд╡рд╕реНрддреБ рд╣реИ (рдЕрднреА рддрдХ рдЬреНрдЮрд╛рдд рдПрдХ рднреА рдкреНрд░рдореБрдЦ рдореЗрд▓ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ), рдФрд░ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рдорд╛рдирдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВрдЧреЗред

рдЫрд╡рд┐

XSS , рд╕рднреА рдЬреНрдЮрд╛рди рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕рдмрд╕реЗ рдЖрдо рд╡реЗрдмрд╕рд╛рдЗрдЯ рднреЗрджреНрдпрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рднреЗрджреНрдпрддрд╛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЗрдЬ рдореЗрдВ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╣рдо рдЕрдЪреНрдЫреА рддрд░рд╣ рдЬрд╛рдирддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рддрд░рдл, рдпрд╣ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред
рд╣рдо рдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ?
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди рдФрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ (WAF);
  • рд╡рд┐рд╢реЗрд╖ рдкрд╛рддреНрд░реЛрдВ рд╕реЗ рдмрдЪрдХрд░;
  • HttpOnly рдХреЗ рд╕рд╛рде рдХреБрдХреАрдЬрд╝ рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдирд╛ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдкрдврд╝рд╛ рди рдЬрд╛ рд╕рдХреЗ;
  • рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ред

рдЕрдм рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рдорд▓реЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рдФрд░ рд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рд╣реИ - рд╕рд╛рдордЧреНрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐

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

рдЖрдЬ рдпрд╣ рд╕рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ:
  • Chrome 25+, Firefox 23+, Opera 15+ рдФрд░ Yandex.Browser рдХрд╛ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рд╣реИ рдФрд░ рдорд╛рдирдХ рд╢реАрд░реНрд╖рдХ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ;
  • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 4-22, IE 10+ рдЧреИрд░-рдорд╛рдирдХ рдПрдХреНрд╕-рд╕рд╛рдордЧреНрд░реА-рд╕реБрд░рдХреНрд╖рд╛-рдиреАрддрд┐ рд╣реЗрдбрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рд╕рдорд░реНрдерди рд╣реИ;
  • рдХреНрд░реЛрдо 14-24, рд╕рдлрд╛рд░реА 5-7 рдЧреИрд░-рдорд╛рдирдХ рдПрдХреНрд╕-рд╡реЗрдмрдХрд┐рдЯ-рд╕реАрдПрд╕рдкреА рд╣реЗрдбрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рд╕рдорд░реНрдерди рд╣реИред

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдЖрдк HTML5 рд░реЙрдХреНрд╕ рдкрд░ рдорд╛рдирдХ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ, рдорд╛рдЗрдХ рд╡реЗрд╕реНрдЯ рдкрд░ рд▓реЗрдЦ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рдирдХ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд░реНрдгрди рдПрдордбреАрдПрди рдкрд░ рд╣реИ ред

CSP рд╕реЗ рдХреНрдпрд╛ рдмрдирддрд╛ рд╣реИ?


CSP рд╣реЗрдбрд░ рдореЗрдВ рд╕рд╛рдЭрд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ - рдиреАрддрд┐ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рдЬреЛ рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
  • рдорд╛рдирдХ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИ:
  • рдбрд┐рдлрд╝реЙрд▓реНрдЯ-src рдЙрди рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред
  • рд╕реНрдХреНрд░рд┐рдкреНрдЯ- src, style-src, object-src (рдлрд╝реНрд▓реИрд╢ рдЬреИрд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП), img-src, рдореАрдбрд┐рдпрд╛-src (рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ), рдлреНрд░реЗрдо-src (iframe), рдлреЙрдиреНрдЯ-src, рдХрдиреЗрдХреНрдЯ-src (XMLHttpRequest, WebSocket,) EventSource) - рдЗрд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдХреАрд░реНрдг рдирд┐рд░реНрджреЗрд╢ред рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА (рдпреВрдЖрд░рдПрд▓ рдирд╣реАрдВ) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдк * рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рд░рд┐рдкреЛрд░реНрдЯ- uri - рдЙрд╕ URL рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ JSON рдЙрд▓реНрд▓рдВрдШрди рдХреА рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬреА рдЬрд╛рдПрдЧреАред рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:


{ "csp-report": { "document-uri": "https://mail.yandex.ru/neo2/", "referrer": "http://www.yandex.ru/", "violated-directive": "script-src 'unsafe-inline' 'unsafe-eval' blob: chrome-extension: *.yandex.ru *.yandex.net yandex.st", "original-policy": "....     ...", "blocked-uri": "...    ..." } } 


рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рд▓рд┐рдВрдХ рдФрд░ рдЬреЗрдПрд╕ рд▓рд╛рдЗрди рдХреЛ рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реБрдЖред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЖрдк рдореЗрдЬрдмрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреАрд╡рд░реНрдб (рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ):
  • 'рд╕реНрд╡' - рд╡рд░реНрддрдорд╛рди рд╣реЛрд╕реНрдЯ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рдкреЛрд░реНрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
  • 'рдХреЛрдИ рдирд╣реАрдВ' - рд╕рдм рдХреБрдЫ рдирд┐рд╖рд┐рджреНрдз рд╣реИред
  • 'рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди' - рд╕реНрдХреНрд░рд┐рдкреНрдЯ-src рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ , javascript: - (onclick=""). style-src style="". , .. javascript , XSS.
    'unsafe-eval' тАФ script-src : eval, new Function, setTimeout(' var foo = "bar" ', 1).
    рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ , javascript: - (onclick=""). style-src style="". , .. javascript , XSS.
    'unsafe-eval' тАФ script-src : eval, new Function, setTimeout(' var foo = "bar" ', 1).
    , javascript: - (onclick=""). style-src style="". , .. javascript , XSS.
    'unsafe-eval' тАФ script-src : eval, new Function, setTimeout(' var foo = "bar" ', 1).


    рд╣реЛрд╕реНрдЯ рдХреЛ рдХреЗрд╡рд▓ "yandex.st" рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдпрд╛ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде "https://yandex.st:443" "yandex.st" "https://yandex.st:443" ред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпрджрд┐ рд╣реЛрд╕реНрдЯ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдпрд╛ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЙрд╕реА рдореВрд▓ рдиреАрддрд┐ рдХреЗ рд╕рдорд╛рди рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, "https://mail.yandex.ru:443/neo2/" рдкреГрд╖реНрда рдкрд░ "yandex.st" рд╣реЛрд╕реНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ "https://yandex.st:443" "yandex.st" "https://yandex.st:443" рдлреЙрд░реНрдо "yandex.st" ред

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

    рд╣рдордиреЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛


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

    рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдореЗрд▓ рдХреЗ рд╕рд╛рде рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдП рдереЗред рдХрдИ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рдХреЛ рдЫрд╛рдВрдЯрд╛, рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░, рдЙрдиреНрд╣реЗрдВ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдореЗрдВ 100% рд░реЛрд▓ рдЖрдЙрдЯ рдХрд┐рдпрд╛ред

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

    рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рд╣рдордиреЗ CSP рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП:
    • рдХреНрд░реЛрдорд┐рдпрдо-рдЖрдзрд╛рд░рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдкреГрд╖реНрда рдкрд░ рд╢реАрд░реНрд╖рдХ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдиреАрддрд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
    • рдЕрд╡рд░реБрджреНрдз рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ ред


    рдЪрд▓реЛ рдореЛрдмрд╛рдЗрд▓ Yandex.Mail рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реАрд░реНрд╖рдХ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ
     //     , yandex.st    WebSocket  xiva-daria.mail.yandex.net Content-Security-Policy: default-src 'self' wss://xiva-daria.mail.yandex.net yandex.st; //          frame-src *.yandex.ru; // 'self' data:  inline- // mc.yandex.ru тАФ . // yandex.st тАФ  CDN   // *.yandex.net -   https- img-src 'self' data: mc.yandex.ru *.yandex.net yandex.st; //       font-src 'none'; object-src 'none'; // 'unsafe-inline' тАФ   inline-      // yandex.st тАФ  CDN   style-src 'unsafe-inline' yandex.st; // self  blob тАФ    js  blob // unsafe-eval      // mc.yandex.ru тАФ . // yandex.st тАФ  CDN   script-src 'self' 'unsafe-eval' blob: mc.yandex.ru yandex.st; //      report-uri /neo2/csp.jsx?from=touch 

    рдПрдХ рд╕реЗрд╡рд╛ рдкрд░ рд╕реАрдПрд╕рдкреА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдореВрдирд╛ рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
    1. рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрдиред
    2. рд╕рд╛рдордЧреНрд░реА-рд╕реБрд░рдХреНрд╖рд╛-рдиреАрддрд┐-рд░рд┐рдкреЛрд░реНрдЯ-рдХреЗрд╡рд▓ рд╣реЗрдбрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
    3. рд▓реЙрдЧ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред
    4. рдиреАрддрд┐ рд╕реБрдзрд╛рд░ред
    5. рд╕рд╛рдордЧреНрд░реА-рд╕реБрд░рдХреНрд╖рд╛-рдиреАрддрд┐ рд╢реАрд░реНрд╖рд▓реЗрдЦ (рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ред
    6. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреБрд╢реА :)

    рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ


    рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
    • X-Webkit-CSP рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде Safari 5 рдФрд░ AndroidBrowser рдореЗрдВ рдорд╛рдирдХ рдХрд╛ рдмрд╣реБрдд рдЦрд░рд╛рдм рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдФрд░ рд╣рдо рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдЗрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП CSP рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рди рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-eval рдФрд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдЧрд▓рдд рд╕рдордЭрддреЗ рд╣реИрдВред
    • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреА рдПрдХреНрд╕-рд╕рд╛рдордЧреНрд░реА-рд╕реБрд░рдХреНрд╖рд╛-рдиреАрддрд┐ рдереЛрдбрд╝рд╛ рдЧреИрд░-рдорд╛рдирдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИред рдХрдиреЗрдХреНрдЯ-src рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ xhr-src (рдпрд╛ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ-src рдореЗрдВ рдирд┐рдпрдо рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ) рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╣ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди, рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-eval рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИ, рдЙрдирдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рдирд┐рд░реНрджреЗрд╢ "рдЗрдирд▓рд╛рдЗрди-рд╕реНрдХреНрд░рд┐рдкреНрдЯ eval-script" рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЛрдЬрд╝рд┐рд▓рд╛ рд╡рд┐рдХрд┐ рдкрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╣реЗрдбрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред
    • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдПрдХреНрд╕-рдХрдВрдЯреЗрдВрдЯ-рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА-рдкреЙрд▓рд┐рд╕реА рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ-рдпреВрдЖрдИ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ ред
    • IOS6 рдореЗрдВ рд╕рдлрд╛рд░реА рдмрд╣реБрдд рд╣реА рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬрддрд╛ рд╣реИред

    рд╣рдо рдХрд╕реНрдЯрдо рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг (IE рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде) рдорд╛рдирдХ рд╢реАрд░реНрд╖рдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдмрд╣реБрдордд рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВред

    рд╕реАрдПрд╕рдкреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛:
    • рдпрджрд┐ рдЖрдк рдЗрдирд▓рд╛рдЗрди рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ img-src рдореЗрдВ рдЖрдкрдХреЛ "рдбреЗрдЯрд╛:" рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
    • рдмреВрдБрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, 'рд╕реНрд╡рдпрдВ' (рдХреНрд░реЛрдо рдХреЗ рд▓рд┐рдП) рдФрд░ рдмреВрдБрдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ: (рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдПрдХреНрд╕-рд╡реЗрдмрд┐рдЯ-рд╕реАрдПрд╕рдкреА рдХреЗ рд▓рд┐рдП)
    • рд╢реАрд░реНрд╖ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ CSP рдмрд╛рд▓ iframes рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ: рд░рд┐рдХреНрддред
    • рдпрджрд┐ рдЖрдк рдХреНрд░реЛрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐, рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ, рд╕реАрдПрд╕рдкреА рдкрд░ рднреА рд░рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ "рдХреНрд░реЛрдо-рдПрдХреНрд╕рдЯреЗрдВрд╢рди:" рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
    • рдбрд┐рдлрд╝реЙрд▓реНрдЯ-src рд╕рднреА рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдХреБрдЫ рдЬреЛрдбрд╝рдирд╛ рдпрд╛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рднреА рдбреЛрдореЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
    • рдЖрдк рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рд╛рдордЧреНрд░реА-рд╕реБрд░рдХреНрд╖рд╛-рдиреАрддрд┐ рдФрд░ рд╕рд╛рдордЧреНрд░реА-рд╕реБрд░рдХреНрд╖рд╛-рдиреАрддрд┐-рд░рд┐рдкреЛрд░реНрдЯ-рдХреЗрд╡рд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреЛрдиреЛрдВ рд╣реЗрдбрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирдИ рдиреАрддрд┐рдпреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
    • рдпрджрд┐ рдЖрдк рдлрд╝реАрдЪрд░ рдбрд┐рдЯреЗрдХреНрд╢рди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, jQuery <1.8 рдпрд╛ рдореЙрдбрд░реНрдирд┐рдЬрд╝рд░) рдХреЗ рд╕рд╛рде рдЪреМрдЦрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдЯрд╛рдЗрд▓-src рдХреЗ рд▓рд┐рдП 'рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди' рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


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

    рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдо рдЕрднреА рддрдХ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝ рдкрд╛рдП рд╣реИрдВред рдореЗрд▓ рдореЗрдВ рдЗрдирд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛ рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬрд╛рд░реА рдХрд░рдирд╛ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЗрдПрд╕ (jQuery рдФрд░ рдмреВрдЯрд▓реЛрдбрд░) рдХреА рд▓реЛрдбрд┐рдВрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ред рдФрд░ рдЕрдЧрд░ рд╣рдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ JSON рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг JS рдЧреИрд░-рд▓реЛрдбрд┐рдВрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдФрд░ рд╣рдореЗрдВ 'рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди' рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред TinyMCE WYSWYG рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЗрдирд▓рд╛рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдиреЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рднреА рдЬреЛрдбрд╝рд╛ред

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

    рдЕрдкрдбреЗрдЯреЗрдб рдорд╛рдирдХ CSP 1.1


    рдорд╛рдирдХ рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдорд╕реМрджрд╛ рдЪрд░рдг рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░реЛрдо рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

    рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдпрд╛ рдЧреИрд░-рдирд┐рд░реНрджреЗрд╢ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди рдкрд░ рдкреВрд░реНрдг рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рд╕рд╛рде рдЕрд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рдЕрднреА рднреА рдЪрд▓ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
    1. рдиреЙрди - рд╣реЗрдбрд░ рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рд╡рд░реНрдгреЛрдВ рдХрд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдо;
    2. рдпрджрд┐ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди рдФрд░ рдиреЙрди рд╣реИрдВ, рддреЛ рдиреЙрди рдЕрд╕реБрд░рдХреНрд╖рд┐рдд-рдЗрдирд▓рд╛рдЗрди рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ;
    3. рдХреЗрд╡рд▓ рдЗрдирд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ рдЬреЛ рдХрд┐ рдЧреИрд░-рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рд▓реЗ рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рд╕рдорд╛рди рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╣реЛрддреА рд╣реИрдВред

    рдПрдХ рдЙрджрд╛рд╣рд░рдг:
     Content-Security-Policy: default-src 'self'; script-src 'self' https://example.com 'nonce-eef8264c4994bf6409c51ac7c9614446' <script> alert(",   nonce") </script> <script nonce="22168992a8d57a5d3a64ca73bb9fc669"> alert(",    nonce  ") </script> <script nonce="eef8264c4994bf6409c51ac7c9614446"> alert(",    nonce ") </script> <!-- ,    script-src  https://example.com --> <script src="https://example.com/allowed-because-of-src.js"></script> <!-- ,    nonce   --> <script nonce="22168992a8d57a5d3a64ca73bb9fc669" src="https://otherdomain.com/invalid.js"></script> <!-- ,    nonce ,   ,  otherdomain.com    script-src --> <script nonce="eef8264c4994bf6409c51ac7c9614446" src="https://otherdomain.com/valid.js"></script> 

    CSP 1.1 рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
    • рдореЗрдЯрд╛ рдЯреИрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдиреАрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛;
    • рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдкреАрдЖрдИ;
    • DOM рдкреЙрд▓рд┐рд╕реА рдЙрд▓реНрд▓рдВрдШрди рдШрдЯрдирд╛;
    • рдирдП рдирд┐рд░реНрджреЗрд╢ рдлреЙрд░реНрдо-рдПрдХреНрд╢рди, рдкреНрд▓рдЧрдЗрди-рдкреНрд░рдХрд╛рд░ред

    рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ


    рд╕реАрдПрд╕рдкреА рдХреЗрд╡рд▓ рд╣рдорд▓реЛрдВ рдФрд░ рдЕрд╕реНрдкрд╖реНрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдВрд░рдХреНрд╖рдг рдирд╣реАрдВ рдерд╛ред рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рд╣рдореЗрдВ рджреЛ рдЪреАрдЬреЛрдВ рд╕реЗ рд╕реБрдЦрдж рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ:
    1. рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, CSP рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рд╕реЗ рд╡рд┐рддрд░рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЙрд▓реНрд▓рдВрдШрди рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдПрдХ рдЕрд╡рд╕рд░ рд╣реИред
    2. рдЪреВрдВрдХрд┐ рд╕рднреА рдореЗрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ HTTPS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП CSP рдиреЗ рдЙрди рдПрдХрд╛рдВрдд рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛, рдЬрд┐рдирдореЗрдВ рдЕрднреА рднреА HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗ рдЧрдП рдереЗред

    CSP рдЖрдЬрд╝рдорд╛рдПрдВ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрдЯрд╛ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рджреБрдирд┐рдпрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдЬрдЧрд╣ рдмрдирд╛рдПрдВред

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


All Articles