рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореБрдЭреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рднреЗрджреНрдпрддрд╛ рдорд┐рд▓реА рдЬреЛ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрд┐рд╕реА рднреА рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╛рдЗрдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдХреВрд▓, рд╣рд╣?
рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдерд╛, рдФрд░ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореИрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВред
рдЖрдк рдЙрд╕ рдкрд░ рдЯреВрдЯ рдкрдбрд╝реЗред
рдиреЛрдЯ: рдЕрдиреБрд╡рд╛рджрд┐рдд рд▓реЗрдЦ
рдХреЗ рд▓реЗрдЦрдХ рдПрдХ рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдпрд╣ SQL рдЗрдВрдЬреЗрдХреНрд╢рди рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЙрдирдХрд╛ рдкрд╣рд▓рд╛ рднреНрд░рдордг рд╣реИред рд╡рд╣ "
рдЕрдкрдиреЗ рднреЛрд▓реЗрдкрди рдХреЗ рд▓рд┐рдП рдХреГрдкрд╛рд▓реБ" рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА: рдЕрдиреБрд╡рд╛рджрд┐рдд рд▓реЗрдЦ
рдХреЗ рд▓реЗрдЦрдХ рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрдЯ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдЙрд╕рдиреЗ рдорд╛рд▓рд┐рдХ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рд╡рд╣ рдЪреБрдкреНрдкреА рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╡рд╣ рдЦреБрдж рдХреЗ рд▓рд┐рдП рднреЗрджреНрдпрддрд╛ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рд╛рдЗрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ рдореБрдВрд╣ рдмрдВрдж рд░рдЦреЗрдВ (tsyts)ред
рддреБрдореНрд╣реЗрдВ рдкрддрд╛ рд╣реИ, рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХрднреА-рдХрднреА рдХрд┐рд╕реА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЯреВрд▓рдХрд┐рдЯ рдореЗрдВ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреИрд╕реЗ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрджреНрджреЗрд╢реНрдп рдХреЗ minified рдХреЛрдб рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдФрд░ рдЕрдЪрд╛рдирдХ рддреБрдо рдиреЛрдЯрд┐рд╕ рдХреБрдЫ рдпрд╣рд╛рдБ рдЧрд▓рдд рд╣реИред рдРрд╕рд╛ рдмрд┐рд▓рдХреБрд▓ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рд╛рдЗрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдЬрдм рдЖрдк рд░рд╕реАрдж рдХреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЛ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреГрд╖реНрда рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ:
/api/users?email=no
рдФрд░ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛: рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреБрдЫ рдореВрд░реНрдЦрддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИ? рд╢рд╛рдпрдж рдореБрдЭреЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдореИрдВрдиреЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреИрд╕реЗ рдХрд░реЗрдВ - рдЕрдкрдиреА рд╕реНрдореГрддрд┐ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "xkcd рдЫреЛрдЯреЗ рдмреЙрдмреА рдЯреЗрдмрд▓" рдХреЗ рд▓рд┐рдП рдиреЗрдЯ рдХреА рдЦреЛрдЬ рдХреА - рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ - рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ред
Chrome рдиреЗрдЯрд╡рд░реНрдХ рдЯреИрдм рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдиреБрд░реЛрдз рдХреЙрдкреА рдХрд┐рдпрд╛ (рдХреЙрдкреА> рдХреЙрдкреА рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдпрд╛ рдЧрдпрд╛) рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ
рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рдЪрд┐рдкрдХрд╛рдпрд╛ рддрд╛рдХрд┐ рдЕрдиреБрд░реЛрдз рдЦреЗрд▓рд╛ рдЬрд╛ рд╕рдХреЗ:
fetch('https://blah.com/api/users', { credentials: 'include', headers: { authorization: 'Bearer blah', 'content-type': 'application/x-www-form-urlencoded', 'sec-fetch-mode': 'cors', 'x-csrf-token': 'blah', }, referrer: 'https://blah.com/blah', referrerPolicy: 'no-referrer-when-downgrade', body: 'email=no',
рдмрд╛рдХреА рд▓реЗрдЦ
body
рд░реЗрдЦрд╛ рдХреЗ рд╕рд╛рде рдЙрдкрджреНрд░рд╡ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ - рдпрд╣ рд╕рд░реНрд╡рд░ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рд╡рд╣рди рд╣реИред
рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЕрдВрддрд┐рдо рдирд╛рдо рдХреЙрд▓рдо рдореЗрдВ рдорд╛рди рд╕реЗрдЯ рдХрд░рдХреЗ рдЕрдкрдирд╛ рдЕрдВрддрд┐рдо рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдмрд╕ рдЗрд╕рдХреЗ рдирд╛рдо рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛:
{
рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реБрдЖред рдлрд┐рд░ рдореИрдВрдиреЗ
last_name
рд╕рд╛рде рднреА рдпрд╣реА рдХрд┐рдпрд╛, рдлрд┐рд░ рдореИрдВрдиреЗ
surname
рд╕рд╛рде рдЕрдкрдиреА рдХрд┐рд╕реНрдордд
surname
- рдФрд░ рдЙрдлрд╝! - рдкреГрд╖реНрда рдиреЗ рдореЗрд░реЗ рдЕрдВрддрд┐рдо рдирд╛рдо рдХреЛ "рдкрд░реАрдХреНрд╖рдг" рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ред
рдпрд╣
рдмрд╣реБрдд рд░реЛрдорд╛рдВрдЪрдХ рдерд╛ред рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛ SQL рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛ рдХрд┐рддрд╛рдмреА рдХреАрдбрд╝рд╛ рдорд╛рдирд╛ рд╣реИред рддрдереНрдп
рдпрд╣ рд╣реИ рдХрд┐
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдб рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рджреБрдирд┐рдпрд╛ рдХреЛ рдЦреЛрд▓рддрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рд╕реАрдзреЗ SQL рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдереЛрдбрд╝рд╛ рджрд░реНрд╢рдирд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рд╕реНрдЯрд░реНрдЬрди рдХреЗ рдирд┐рдпрдо рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЕрдкрдиреЗ рдЬреАрд╡рди рдореЗрдВ рдХрдИ рдореБрджреНрджреЛрдВ рдкрд░ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛: "90% рд╕рдм рдХреБрдЫ рдмрдХрд╡рд╛рд╕ рд╣реИред" рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрд╡рд╕рд░реЛрдВ рдХреЛ рдЦреЛ рджреЗрддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдирд╡рддрд╛ рдХреЗ рдЗрд╕ рдирдП рдЕрд╡рд┐рд╢реНрд╡рд╛рд╕ рдиреЗ рдореБрдЭреЗ рдЗрд╕ рдкреНрд░рдпреЛрдЧ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рдпрд╛ рд╣реИред
рд╕рднреА рдЕрд╕рдВрдмрджреНрдз рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗ рдЧрдП рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдРрд╕рд╛ рд╣реА рдХреБрдЫ рд╣реЛрддрд╛ рд╣реИ:
const userId = someSessionStore.userId; const email = request.body.email; const sql = `UPDATE users SET email = '${email}' WHERE id = '${userId}'`;
рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╕рд░реНрд╡рд░ рдХреЛ PHP рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рднрд╛рд╖рд╛ рдХреЛ рдирд╣реАрдВ рдмреЛрд▓рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдЦреВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ SQL рдкреНрд░рд╢реНрдиреЛрдВ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реВрдБред рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ
user
, рдпрд╛
users
, рдпрд╛
user_table
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред
рдпрджрд┐ рдореЗрд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА 1234 рд╣реИ, рдФрд░ рдореИрдВ рдИрдореЗрд▓ = рдирд╣реАрдВ рднреЗрдЬрддрд╛ рд╣реВрдВ, рддреЛ SQL рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рддрд╛ рд╣реИ:
UPDATE users SET email = 'no' WHERE id = '1234'
рдФрд░ рдпрджрд┐ рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ
no', surname = 'testing
рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ SQL рдорд╛рдиреНрдп рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрд╢реНрдХрд┐рд▓:
UPDATE users SET email = 'no', surname = 'testing' WHERE id = '1234'
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, рдореИрдВ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдореЗрдВ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╕реЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реВрдВ, рдЬрдмрдХрд┐ рдореИрдВ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдкреЗрдЬ рдкрд░ рд╣реВрдВред рддреЛ рдЕрдм рд╕реЗ, рдЖрдк рдЗрд╕ рдкреГрд╖реНрда (HTML <рдЗрдирдкреБрдЯ> рддрддреНрд╡) рдкрд░ рдЙрдкрдирд╛рдо рдлрд╝реАрд▓реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ
surname
рдХреЙрд▓рдо рдореЗрдВ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдХреЗ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рддрдм рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЙрд▓рдо рдХреЗ рдбреЗрдЯрд╛ рдХреЛ
surname
рдХреЙрд▓рдо рдореЗрдВ рдХреЙрдкреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, SQL рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдиреЗрдЯ рдХреА рдЦреЛрдЬ рдореЗрдВ 20 рдорд┐рдирдЯ рдмрд┐рддрд╛рдП, рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЛ рдПрдХ рдФрд░ 20 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдЦрд░реЛрдВрдЪ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЧрд▓рдд рджрд┐рд╢рд╛ рдореЗрдВ рдЕрдкрдиреЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдбрд╛рд▓реЗ рдереЗред рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкреВрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдХреЙрд▓рдо рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдХреЙрдкреА рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдФрд░ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ (рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ рдХрд┐
password
рдХреЙрд▓рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП):
UPDATE users SET email = 'no', surname = password WHERE id = '1234'
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
password
рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдЙрджреНрдзрд░рдг рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рд╕реБрдкрд░-рдЖрдзреБрдирд┐рдХ рдХреНрд╡реЗрд░реА рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП ...
const sql = `UPDATE users SET email = '${email}' WHERE id = '${userId}'`;
... рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐, рдЬрдм рдЖрдк
no', surname = password
рдкрд╛рд╕
no', surname = password
рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ
no', surname = password
рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдХ рдорд╛рдиреНрдп SQL рдХреНрд╡реЗрд░реА рдирд╣реАрдВ рд╣реЛрдЧреАред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рдЗрдВрдЬреЗрдХреНрд╢рди рд╡рд╛рд▓реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореБрдЭреЗ
WHERE
рдФрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА; SQL рдХрдерди рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде
#
рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЗрд╕рдХреЗ рджрд╛рдИрдВ рдУрд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПред рд╣рд╛рдВ, рдореИрдВ рдмрд╣реБрдд рд╕рдордЭрд╛рддрд╛ рд╣реВрдВред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рдирдИ рд▓рд╛рдЗрди рднреЗрдЬреА:
{
рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдЗрди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рднреЗрдЬреА рдЬрд╛рдПрдЧреА:
UPDATE users SET email = 'no', surname = password WHERE username = 'me@email.com'; # WHERE id = '1234'
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕
WHERE id = '1234'
рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рднрд╛рдЧ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рдж рдЖрддрд╛ рд╣реИ # (рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдиреЗ рд╕реЗ рдореИрд▓рд╛ рдХреЛрдб рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд▓рдЧрддрд╛ рд╣реИ)ред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдореЗрд░рд╛ рдкрд╛рд╕рд╡рд░реНрдб P @ ssword1 рдЕрдВрддрд┐рдо рдирд╛рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдлреЙрд░реНрдо рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ 00fcdde26dd77af7858a52e3913e6f3330a32b31 рдорд┐рд▓рд╛ред
рдЗрд╕рдиреЗ рдореБрдЭреЗ рдирд┐рд░рд╛рд╢ рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдиреЗ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╣реИрд╢ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЙрд▓рдо рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЬрд╛рд░реА рд░рдЦрд╛ред
рдореБрдЭреЗ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭрд╛рдПрдВ: рдЬрдм рдЖрдк рдХрд╣реАрдВ рдЦрд╛рддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб P @ ssword1 рднреЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ 00fcdde26dd77af7858a52e3913e6f3330a32b31 рдЬреИрд╕реЗ рд╣реИрд╢ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╣реИрд╢ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдХреЛрдИ рднреА рдЖрдкрдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдпрд╛ рддреЛ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ)ред
рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкрд╛рд╕рд╡рд░реНрдб @ 1 рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рд░реНрд╡рд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╣реИрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрд╢ рд╕реЗ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕рд╣реЗрдЬреЗ рдмрд┐рдирд╛ рднреА рдЕрдиреБрдкрд╛рд▓рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдЧрд╛ред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдХрд┐рд╕реА рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб P @ ssword1 рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдорд╛рди рдкрд╛рд╕рд╡рд░реНрдб рдХреЙрд▓рдо рдореЗрдВ 00fcdde26dd77af7858a52e3913e6f3330a32b31 рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╣рд▓реНрдХреЗ рд╡рдЬрдиред
рдореИрдВрдиреЗ рдПрдХ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓рд╛, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдпрд╛ рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рдЬрд╛рдВрдЪрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЙрд╕реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП
body
рд╕рдВрдкрддреНрддрд┐ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
{
рдореИрдВрдиреЗ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛, рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкреГрд╖реНрда рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░, ofiget, рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛! рдЕрдм рдЙрдирдХрд╛ рдЙрдкрдирд╛рдо "WOOT !!" рдерд╛ред (рдореЗрд░реА рджрд╛рджреА рдХрд╛ рдкрд╣рд▓рд╛ рдирд╛рдо)
рдлрд┐рд░ рдореИрдВрдиреЗ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
рдФрд░ рддреБрдо рдЬрд╛рдирддреЗ рд╣реЛ рдХреНрдпрд╛?!?!?
рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ рджреВрд╕рд░реЗ рдЦрд╛рддреЗ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рдереАред
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЛ рдЧрд▓рддрд┐рдпрд╛рдБ рдХреАрдВ, рдЬрд┐рдирдХреА рдЧрдгрдирд╛ рдореЗрдВ рдХрдИ рдШрдВрдЯреЗ рд▓рдЧ рдЧрдПред рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдордЭ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╕рдВрднрд╡рдд: рдЙрд╕ рдореВрд░реНрдЦ рдкрд░ рд╣рдБрд╕ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╣реИрдХрд┐рдВрдЧ рдХреЗ рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдЕрдкрдиреЗ "рдХрд╛рд░рдирд╛рдореЗ" рдХреЛ рд╕рдмрд╕реЗ рдХрдо рдЙрдореНрд░ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред
Nuuuuu, рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ "рдкрд╛рд╕рд╡рд░реНрдб рд╣реИрд╢" рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдЦреЛрдЬрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдХрдИ рд╣реИрд╢ рдореЗрд░реЗ 00fcdde26dd77af7858a52e3913e6f3330a32b31 рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмреЗ рд╣реИрдВред рд▓рдЧрддрд╛ рд╣реИ рд╡рд╣ рдХрд╣реАрдВ рдлрд╕рд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореИрдВрдиреЗ рдЙрдкрдирд╛рдо рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╛рда рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ 40 рдЕрдХреНрд╖рд░реЛрдВ рдХреА рд╕реАрдорд╛ рдкрд╛рдИ (рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрд╛рдзрд╛ рд╕реЗ рдореЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП <рдЗрдирдкреБрдЯ> рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдЧрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ)ред
рдЕрдм рдореБрдЭреЗ рдХреЗрд╡рд▓ рд╣реИрд╢ рдХреЗ рдкрд╣рд▓реЗ 40 рдкрд╛рддреНрд░реЛрдВ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА, рдЬреЛ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣реЛ рд╕рдХрддреЗ рдереЗред рдореИрдВрдиреЗ "sql рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ" рдХреА рдЦреЛрдЬ рдХреА, рдФрд░ рдЬрд▓реНрдж рд╣реА рд╕рд░реНрд╡рд░ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛:
{
30 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкрд╣рд▓реЗ 10 рдЕрдХреНрд╖рд░ рдЕрдВрддрд┐рдо 10 рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд▓реИрдк рд╣реЛрддреЗ рд╣реИрдВ 00fcdde26dd77af7858a52e3913e6f3330a32b31ред рдпрд╛ рдЕрдВрддрд┐рдо 9. рдпрд╛ 11ред
рдЧреАрддрд╛рддреНрдордХ рд╡рд┐рд╖рдпрд╛рдВрддрд░рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ рдорд░ рдЬрд╛рддрд╛ рд╣реВрдВ рдФрд░ рдирд░рдХ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рд╡реЗ рдореБрдЭреЗ рдЕрдкрдиреА рд╕рднреА рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдзреАрдореА рдЧрддрд┐ рд╕реЗ, рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдВрдЧреЗред рдЬрдм рдореИрдВ рдмрд╛рд░-рдмрд╛рд░ рдЕрдкрдирд╛ рдЪреЗрд╣рд░рд╛ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реВрдВ, рддрдм рдореБрдЭреЗ рдЕрдкрдиреА рдЕрдВрддрд╣реАрди рдореВрд░реНрдЦрддрд╛ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖред
рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рдУрдВ рдкрд░ рд╡рд╛рдкрд╕: рд╡рд░реНрдгреЛрдВ рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рдореБрдЭреЗ 64 рд╡рд░реНрдгреЛрдВ рдХрд╛ рд╣реИрд╢ рдорд┐рд▓рд╛ред рдлрд┐рд░ рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рджреВрд╕рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
{
рдФрд░ рддреБрдо рдЬрд╛рдирддреЗ рд╣реЛ рдХреНрдпрд╛?!?!
рдареАрдХ рд╣реИ, рдЖрдкрдиреЗ рдЗрд╕рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ
рджреЛ рдЧрд▓рддрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред
рдореИрдВ рдЕрднреА рднреА рджреВрд╕рд░реЗ рдЦрд╛рддреЗ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреЗ рдХрд░реАрдм рдерд╛ (рдореЗрд░реЗ рд▓рд┐рдП рдЙрд╕ рд╕рдордп рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛)ред
рдореИрдВрдиреЗ "рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░реИрдХреНрдЯрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд╛рд╕рд╡рд░реНрдб" рдХреА рдЦреЛрдЬ рдХреА рдФрд░ "рдирдордХ" рдЬреИрд╕реА рдЪреАрдЬрд╝ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ред
рдирдордХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП P @ ssword1 рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрд╢ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рджреВрд╕рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдкрд╛рд╕рд╡рд░реНрдб рдПрдХ рдЕрд▓рдЧ рд╣реИрд╢ (рджреВрд╕рд░рд╛ рдирдордХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рджреЗрдЧрд╛ред рдмреЗрд╢рдХ, рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИрд╢ рджреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓рд╡рдг рдЕрд▓рдЧ рд╣реИрдВред
рдпрд╣ рд╕реНрдорд╛рд░реНрдЯ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмреЗрд╡рдХреВрдлред рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рдирдордХ рдирд╛рдордХ рдПрдХ рдФрд░ рдХреЙрд▓рдо рдерд╛ред рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рджреЛ рдХреЙрд▓рдореЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдПрдХ рдирд╣реАрдВ? рдХреНрдпрд╛ рдпрд╣ рдПрдХ рджреВрд╕рд░реЗ рд▓реЙрдХ рдХреА рддрд░рд╣ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣реА рдХреБрдВрдЬреА рдлрд┐рдЯ рд╣реЛрддреА рд╣реИ?
рдореИрдВрдиреЗ рдЙрд╕ рдХреЙрд▓рдо рд╕реЗ рдорд╛рди рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдореЗрдВ рдХреНрд╡реЗрд░реА рдмрджрд▓ рджреА рдЬрд┐рд╕реЗ рдирдордХ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ,
рдЙрдкрдирд╛рдо рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП:
{
рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реЗрдЯ рдЙрдкрдирд╛рдо рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрддред 64 рдЪрд░рд┐рддреНрд░ рд╡рд╛рд▓реЗ рдирдордХ рдХреЗ рд▓рд┐рдП рдЬреЛ рдирд┐рдХрд▓рд╛, рдЙрд╕реЗ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ SUBSTRING рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рдерд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИрд╢ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕ рдирдордХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЖрдкрдХреЛ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдореИрдВрдиреЗ рдЙрд╕ рд╢рд╛рдо рдЕрдкрдирд╛ рдЖрдЦрд┐рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛:
fetch('https://blah.com/api/users', { credentials: 'include', headers: { authorization: 'Bearer blah', 'content-type': 'application/x-www-form-urlencoded', 'sec-fetch-mode': 'cors', 'x-csrf-token': 'blah', }, referrer: 'https://blah.com/blah', referrerPolicy: 'no-referrer-when-downgrade', body: `email=no', password = '00fcdde26dd77af7858a52e3913e6f3330a32b3121a61bce915cc6145fc44453', salt = '8b7df143d91c716ecfa5fc1730022f6b421b05cedee8fd52b1fc65a96030ad52' WHERE username = 'user-two@gmail.com'; #`, method: 'POST', mode: 'cors', });
рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛! рдЕрдм рдореИрдВ рдкрд╣рд▓реЗ рдЦрд╛рддреЗ рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рджреВрд╕рд░реЗ рдЦрд╛рддреЗ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддрд╛ рдерд╛ред
рдХреНрдпрд╛ рд╡рд╣ рдкрд╛рдЧрд▓ рдирд╣реАрдВ рд╣реИ?
* * *
рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдереЗ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕рдХрд╛ рдирдордХ рдФрд░ рд╣реИрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЙрд╕реЗ рдЕрдкрдиреЗ рдкрд╛рд╕ рд░рдЦреВрдВрдЧрд╛ред рдлрд┐рд░ рдореИрдВ рдЗрд╕рдХреЗ рдирдордХреАрди рд╣реИрд╢ рдХреЛ рдЦрджрд╛рди рд╕реЗ рдмрджрд▓ рджреВрдВрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ рдФрд░ рддреБрд░рдВрдд рдирдордХ рдФрд░ рд╣реИрд╢ рдХреЛ рдореВрд▓ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдмрджрд▓реЗрдВред рдЬрдм рдореИрдВ рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред рдореИрдВ рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред
* * *
рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рдХрд╣рд╛рдиреА рд╣реИред рдмрдирд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдЖрд░реЛрдкреЛрдВ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЫреЛрдЯреЗ рд╡рд┐рд╡рд░рдг рдмрджрд▓реЗ, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЬреИрд╕рд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рд╕рд╛рдЗрдЯ рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдХреЛ рднреЗрджреНрдпрддрд╛ рдХреА рд╕реВрдЪрдирд╛ рджреАред
рд▓реЗрдХрд┐рди рдореИрдВ рдЦреБрдж рд╕реЗ рдпрд╣ рдкреВрдЫрдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╢реБрд░реБрдЖрдд рдереАред рдпрд╣ рд╡рд╕реНрддреБрддрдГ рдкрд╣рд▓реА рд╕рд╛рдЗрдЯ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рд╕рдм рдХреБрдЫ рдореЗрд░реЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ рдореИрдВрдиреЗ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИрдХрд┐рдВрдЧ рдкрд░реАрдХреНрд╖рд╛ рдкрд╛рд╕ рдХреА рдереАред
рдЬрд┐рд╕ рд╕рд╛рдЗрдЯ рдХрд╛ рдореИрдВрдиреЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдЫреЛрдЯреА рд╣реИ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (34,718) рд╣реИрдВред рдпрд╣ рдПрдХ рдкреЗрдб рд╕рд░реНрд╡рд┐рд╕ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдиреБрднрд╡реА рд╣реИрдХрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред рдФрд░ рдлрд┐рд░ рднреА рдЗрд╕рдиреЗ рдореБрдЭреЗ рдорд╛рд░рд╛ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рдерд╛ред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЕрдм рдореИрдВ рдЗрд╕ рдкреВрд░реЗ рд╡рд┐рд╖рдп рдкрд░ рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реВрдВред рдореЗрд░реЗ рд▓рд┐рдП, рджреЛ рдкрд╕рдВрджреАрджрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛: рдПрдХ рдХреЛрдб рдФрд░ рдЧреБрдВрдбреЗ рд▓рд┐рдЦрдирд╛ред рдЗрд╕рд▓рд┐рдП "рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╡реЗрддрди рдСрд╕реНрдЯреНрд░реЗрд▓рд┐рдпрд╛" рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдПрдХ рдирдИ рдиреМрдХрд░реА рджреАред
рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдкреБрдирд╢реНрдЪ: рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд▓реЗрдЦрдХ рдХреА рд╢реИрд▓реА рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ :)