рд╡реЗрдм рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╣рдорд▓реЗ рдЗрдирдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдмрдЧреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХреА рд▓рд╛рдкрд░рд╡рд╛рд╣реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рд╣реИрдХрд░ рдРрд╕рд╛ рдбреЗрдЯрд╛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд░рддрд╛ рд╣реИ - рд╢реЗрд▓,
рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмреИрдВрдХрд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдпрд╣ рдПрдХ рдЦрд╛рддреЗ рд╕реЗ рдзрди рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ)ред
рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдВрдЬреЗрдХреНрд╢рди рд▓реЛрдХрдкреНрд░рд┐рдп рдЕрдЯреИрдХ рд╡реИрдХреНрдЯрд░ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВ: html, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдПрд╕рдХреНрдпреВрдПрд▓ред рдЗрд╕рд▓рд┐рдП, рдХрдИ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рд╕реНрд░реЛрдд рд╡рд┐рднрд┐рдиреНрди рдордВрддреНрд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рдврд╛рд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рд╕рд░рд▓ рдирд┐рдпрдо рджрд┐рдЦрд╛рдКрдВрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИред

рдирд┐рдпрдо рд╕рд░рд▓ рд╣реИ:
рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЛ рди рдорд┐рд▓рд╛рдПрдВ!- рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЗ рддрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рди рдХрд░реЗрдВ:
lblName.Text = person.Name;
рдЦрд░рд╛рдм: HTML: рд╕рд╛рджрд╛ рдкрд╛рда
lblName.Text = HtmlEncode(person.Name);
рдЕрдЪреНрдЫрд╛: HTML: HTML
- рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рди рдЬреЛрдбрд╝реЗрдВ:
"<span>" + person.Name + "</span>"
рдЦрд░рд╛рдм: HTML + рд╕рд╛рджрд╛ рдкрд╛рда + HTML
"<span>" + HtmlEncode(person.Name) + "</span>"
рдЕрдЪреНрдЫрд╛: HTML + HTML + HTML
- рдиреЗрд╕реНрдЯреЗрдб рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ:
label.Text = "<script>" + string.Format(script, string.Format(summary, string.Format(personUrl, id)) + "<script>";
рдЦрд░рд╛рдм: HTML + рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ + URI + рдкрд╛рда + HTML
label.Text = "<script>" + HtmlEncode(string.Format(script, JavaScriptEncode(string.Format(person.Summary, UrlEncode(string.Format(personUrl, id)))))) + "</script>";
рдЕрдЪреНрдЫрд╛: HTML + HTML (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ (URI (рдкрд╛рда)) + HTML
рдкреНрд░рд╛рд░реВрдк
рд╕рднреА рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдкреНрд░рд╛рд░реВрдк рд╣реЛрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░рд╛рд░реВрдк рд╕рд╛рджрд╛ рдкрд╛рда рд╣реИ рдЬрд╣рд╛рдБ рд╕рднреА рд╡рд░реНрдг рд╕рдорд╛рди рд╣реИрдВ рдФрд░ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд░реНрде рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдкрд╛рда рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЛрдИ рднреА рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдк, рдпрд╣ csv, html, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛ, рдирд┐рдпрдВрддреНрд░рдг рд╡рд░реНрдг рд╣реИрдВ - рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо, рдЯреИрдЧ, рд╡рд┐рд╢реЗрд╖ред рдЕрдХреНрд╖рд░ред рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рд╛рд░реВрдк рдХреЗ рдорд┐рд╢реНрд░рдг рдХреЗ рд╕рд╛рде, рдЦрддрд░рдирд╛рдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ рдЬрдм рдПрдХ рдкреНрд░рд╛рд░реВрдк рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ASP.NET рд▓реЗрдмрд▓ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рда рдЧреБрдг HTML рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдк (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╛рджрд╛ рдкрд╛рда) рдореЗрдВ рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдПрдХ рдореВрд▓реНрдп рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдПрдЪрдЯреАрдПрдордПрд▓ рднреЗрджреНрдпрддрд╛ рдЦреЛрд▓реЗрдВрдЧреЗред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рд╕реНрдХреНрд░реАрди рдХреЗ рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рд╢реЗрд╖ рдПрдбреЗрдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдХреНрд╖рд░ред рдЗрд╕рд▓рд┐рдП рд╕рд╛рджреЗ рдкрд╛рда рд╕реЗ HTML рддрдХ рдПрдХ рдПрдбрд╛рдкреНрдЯрд░ "<рд╕реНрдХреНрд░рд┐рдкреНрдЯ>" рдХреЛ "& lt; рд╕реНрдХреНрд░рд┐рдкреНрдЯ & gt;" рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред рдФрд░ рд╕рд╛рджрд╛ рдкрд╛рда рд╕реЗ рдПрдХ URI рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдбрд╛рдкреНрдЯрд░ "example.com? <Script> alert ('pwned')" </ script> "рдХреЛ" example.com% 3F% 3Ccript% 3Ealert ('pwned')% 3B% 3C% 2Fscript рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред % 3Eред "
рдЗрд╕реА рддрд░рд╣ рдХреЗ рдПрдбреЗрдкреНрдЯрд░ рд▓рдЧрднрдЧ рд╕рднреА рднрд╛рд╖рд╛рдУрдВ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред SQL рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЙрди рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рджреНрд╡рд╛рд░рд╛ рд╣реА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ 3 рд╕рд░рд▓ рдмрд┐рдВрджреБ рджрд┐рдП рдЧрдП рд╣реИрдВ:
- рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкрд╛рда рдЪрд░, рдЧреБрдгреЛрдВ, рдлрд╝реАрд▓реНрдб рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдЬрд╛рдиреЗрдВред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд╛рдореЛрдВ рдореЗрдВ рдкреНрд░рддреНрдпрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ: HeaderHtml, AvatarUrlред
- рдПрдХ рдПрдбреЗрдкреНрдЯрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдПрдВ: HtmlEncode, UrlEncode, JavaScriptEncodeред
- рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред
UPD: PHP рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВрдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдПрдХ рдЪрд░реНрдЪрд╛ рдореЗрдВ, рдореБрдЭреЗ рдпрд╣ рддрд░реНрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдореЗрд░рд╛ рдирд┐рдпрдо php рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рддреЛ, рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
include($_GET['path']);
рдЕрдЧрд░ рдореИрдВ GET рдХреЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ "рдмреБрд░рд╛рдИ .php" рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд╛рд░рдирд╛рдореЗ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧреАред рдЕрдм рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдореЗрд░реЗ рд╢рд╛рд╕рди рдХреА рд╢реИрд▓реА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╡рд┐рд╡рд░рдг рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╢рд╛рдорд┐рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╡рд░реНрддрдорд╛рди рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ URI рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдкрде рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╣реИред рдФрд░ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рд░реВрдк $ _GET ['рдкрде'] рд╕рд╛рджрд╛ рдкрд╛рда рд╣реИред рдЗрдВрдЬреЗрдХреНрд╢рди рд╕реЗ рдХреИрд╕реЗ рдмрдЪреЗрдВ? рдПрдХ pathEncode рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЗрд╕ рдкрд╛рда рдХреЛ рдкрде рдХреЗ рд╕рд╣реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛, рдпрд╛ рдпрджрд┐ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдиреБрдордд рдкрдереЛрдВ рдХреА рдПрдХ рд╕рдлреЗрдж рд╕реВрдЪреА рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рдВрдЪ рдХрд░реЗрдВ)ред рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ
include(pathEncode($_GET['path']));
рдпрд╛ рддреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрдирд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдкреНрд░рд╛рд░реВрдк рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдЖрддрд╛ рд╣реИред