π ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ: ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π·Π°ΡΠΈΡΠ΅ ΠΎΡ Π°ΡΠ°ΠΊ
SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ - ΡΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π²Π²ΠΎΠ΄ΠΈΡ Π² SQL-Π·Π°ΠΏΡΠΎΡΡ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΈΠ»ΠΈ ΡΠ°ΡΠΊΡΡΠ»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈΠΌΠ΅Ρ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ:
SELECT * FROM users WHERE username = 'admin' OR 1=1 --' AND password = ''
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ "--" Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π·Π°ΠΏΡΠΎΡ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ "users" Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ?
SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π°ΡΠ°ΠΊ Π½Π° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ° Π°ΡΠ°ΠΊΠ° ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ SQL ΠΊΠΎΠ΄Π° Π² Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΠ³Π½ΠΎΡΠΈΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π΄Π°Π½Π½ΡΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ. ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅, ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² SQL Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
SELECT * FROM users WHERE username = 'username' AND password = 'password'
Π ΡΡΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 'username' ΠΈ 'password', Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²Π½Π΅Π΄ΡΠΈΡΡ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ SQL Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
SELECT * FROM users WHERE username = 'admin' --' AND password = 'password'
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΡΠΎΠΊΠ° '--' ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ Π·Π°ΠΏΡΠΎΡΠ°. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ SQL Π·Π°ΠΏΡΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ 'admin' ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠ°ΡΠΎΠ»Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π½Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ.
ΠΡΠΈΠΌΠ΅Ρ UNION SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° UNION Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π΄Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ SQL Π·Π°ΠΏΡΠΎΡ:
SELECT username, password FROM users WHERE id = 1
ΠΡΠ»ΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²Π½Π΅Π΄ΡΠΈΡΡ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ id, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
SELECT username, password FROM users WHERE id = 1 UNION SELECT credit_card_number, null FROM credit_cards
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π° Π²ΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ ΠΊΠ°ΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ ΠΊΠ°ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ ΠΊΠ°ΡΡ, Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΠΊ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ?
ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠΎΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ Π²ΡΡΠ°Π²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π°ΠΏΡΡΠΌΡΡ Π² SQL Π·Π°ΠΏΡΠΎΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ°. Π ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
SELECT * FROM users WHERE username = ? AND password = ?
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π½Π°ΠΊΠΈ Π²ΠΎΠΏΡΠΎΡΠ° '?' ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ
ΠΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄Π°Π½Π½ΡΠ΅, Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² SQL Π·Π°ΠΏΡΠΎΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ mysqli_real_escape_string() ΠΈΠ»ΠΈ htmlspecialchars(), ΡΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΠΈΡΡΡΡ ΠΎΡ ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ SQL ΠΊΠΎΠ΄Π° ΠΈ XSS Π°ΡΠ°ΠΊ.
$username = mysqli_real_escape_string($connection, $_POST['username']);
$password = mysqli_real_escape_string($connection, $_POST['password']);
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ mysqli_real_escape_string() Π΄Π»Ρ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ SQL ΠΊΠΎΠ΄Π°. ΠΠ½Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Π² ΡΡΡΠΎΠΊΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ³ΡΠ°Π½ΠΈΡΡΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ². ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²ΡΠ΄Π΅Π»ΡΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΅Π³ΠΎ Π·Π°Π΄Π°Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π²Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π°Π²Π°ΡΡ Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ. Π‘Π»Π΅Π΄ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π°ΡΠ°ΠΊ.