ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ ΠΌΡ Π² DataLine Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ
Π ΡΡΠ°ΡΡΠ΅ Π½ΠΈΠΆΠ΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΡΡΡ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΉΡΠΎΠ² ΡΠΊΡΡΠ²Π°ΡΡΡΡ Π·Π° ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠΎΠ²Π½ΡΠΌΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ°Π½Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΠ» ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ°ΡΡΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈ ΠΊΠ°ΠΊ Π·Π°ΡΠΈΡΠΈΡΡΡΡ.Β
ΠΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Qualys Π΄Π΅Π»ΠΈΡ Π½Π° ΡΡΠΈ ΡΡΠΎΠ²Π½Ρ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ: Π½ΠΈΠ·ΠΊΠΈΠΉ, ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΈ Π²ΡΡΠΎΠΊΠΈΠΉ. ΠΡΠ»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Β«ΡΡΠΆΠ΅ΡΡΠΈΒ», ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π½Π΅ ΡΠ°ΠΊ ΠΏΠ»ΠΎΡ
ΠΎ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ ΠΌΠ°Π»ΠΎ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²ΡΠ΅ Π½Π΅ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅:Β
ΠΠΎ Π½Π΅ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ β Π½Π΅ Π·Π½Π°ΡΠΈΡ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΡΠ΅. ΠΠ½ΠΈ ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π½Π°Π½Π΅ΡΡΠΈ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΡΡΠ΅ΡΠ±.Β
Π’ΠΎΠΏ Β«Π½Π΅ΠΊΡΠΈΡΠΈΡΠ½ΡΡ Β» ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ
- Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΎ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΉΡΠΎΠ² ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ HTTPS, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ°.Β
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΌΠ΅ΡΠ°Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· Π½Π΅Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTP. Π§Π°ΡΠ΅ ΡΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ β ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π»ΠΈΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠ°:Β ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, css-ΡΡΠΈΠ»ΠΈ. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΠ ΠΌΠΎΠΆΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π»Π΅ΡΡ ΡΠ²ΠΎΠΈ ΠΎΡΠ²Π΅ΡΡ ΠΈ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π½Π΅ Π±ΡΠ»ΠΎ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ Π΅Π΅ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΡΠΌΠΈ.Β
ΠΡΠ°ΡΠ·Π΅ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΡΠΎ ΡΠ°ΠΉΡΡ ΡΠΎ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ, ΠΈ Π±Π»ΠΎΠΊΠΈΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²
Firefox :Β
Π§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: ΠΠ»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π΅Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅, ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ°ΠΉΡ ΠΎΡ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Ρ ΡΠ°ΠΉΡΠ° Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΠ» Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ Π½Π΅ Π·Π°ΡΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡ ΡΠΈΡΠΈΠ½Π³Π° β Π²ΡΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠΎΡΠ΅Π½Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠ°ΡΠΊΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π΄Π°ΠΆΠ΅ Π»ΡΡΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π°, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΠΌΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.ΒΠ§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠ°ΠΉΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΠΈ Π½Π°ΡΡΡΠΎΠΈΠ» SSL/TLS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈΠ·-Π·Π° ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠΎΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΈΠ· ΡΡΡΠ°Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ, Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ Ρ http, ΠΈ Π²Π΄ΠΎΠ±Π°Π²ΠΎΠΊ Π½Π΅ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡΡ Ρ http Π½Π° https.Β
ΠΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°: ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΠΏΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ Π΄ΠΎΠ»Π³ΠΎ ΠΈ Π½ΡΠ΄Π½ΠΎ ΠΊΠΎΠ²ΡΡΡΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅. Π£ΡΠΊΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π°Π½Π°Π»ΠΈΠ·Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
SSL Check , ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΠ Lighthouse ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΠΎΡΡ Screaming Frog SEO Spider.Π’Π°ΠΊΠΆΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈΠ·-Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ legacy-code β ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΡΡΠ°Π»ΡΡ Π² Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²ΠΎ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΡΠ°ΡΡΡ ΡΡΡΠ°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎ ΡΡΠ°ΡΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, Π³Π΄Π΅ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΡΠ°ΠΉΡΠΎΠ² Π½Π° https.Β Β Β Β
- ΠΡΠΊΠΈ Π±Π΅Π· ΡΠ»Π°Π³ΠΎΠ² Β«HTTPOnlyΒ» ΠΈ Β«secureΒ».
ΠΡΡΠΈΠ±ΡΡ Β«HTTPOnlyΒ» Π·Π°ΡΠΈΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΊΡΠΊΠΈ ΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΠΊΡΠ°ΠΆΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ . Π€Π»Π°Π³ Β«secureΒ» Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΡΠΊΠΈ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½,Β ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTPS.Β
ΠΠ±Π° Π°ΡΡΠΈΠ±ΡΡΠ° ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΠΊΡΠΊΠΈ:
Set-Cookie: Secure; HttpOnly
Π§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: ΠΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ°ΠΉΡΠ° Π½Π΅ ΡΠΊΠ°Π·Π°Π» ΡΡΠΈ Π°ΡΡΠΈΠ±ΡΡΡ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ· ΠΊΡΠΊΠΈ ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅ΠΉ. ΠΡΠ»ΠΈ ΠΊΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΠ½ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ³Π½Π°ΡΡ ΡΠ΅ΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΎΡ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.Β
Π§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ ΡΡΠΈ Π°ΡΡΠΈΠ±ΡΡΡ Π·Π°Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΡΠ΅ ΡΠ»Π°Π³:Β Set-Cookie HttpOnly; Secure.
ΠΡΠΈ ΡΡΠΎΠΌ Π°ΡΡΠΈΠ±ΡΡ Β«HTTPOnlyΒ» ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΊΡΠΊΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ ΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ JavaScript.Β Β
- Path-Based Vulnerabilities (Β«ΠΏΡΡΠ΅Π²ΡΠ΅Β» ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ).
Π‘ΠΊΠ°Π½Π΅Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΠ°ΠΉΡΠ° Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ. Π’Π°ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, Π΅ΡΠ»ΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π·Π°Π΄Π°Π½Ρ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°.
Π§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Β«ΡΠΎΡΡΠΈΡ Π½Π°ΡΡΠΆΡΒ», Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π°Π»ΠΈΡΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π°ΠΉΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ Ρ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ (Π½Π΅ Π½Π°Π΄ΠΎ ΡΠ°ΠΊ!). ΠΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠ°ΡΡΡ Ρ ΡΡΠΈ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠΎΠΌ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ Π²Π³Π»ΡΠ±Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.Β Β
Π§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠΎ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠΉΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ»ΠΎ Β«ΡΠ±Π΅ΠΆΠ°ΡΡΒ» ΠΈΠ· Π²Π΅Π±-Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
- Π€ΠΎΡΠΌΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΡΡΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΡΠΌΡ Π½Π° ΡΠ°ΠΉΡΠ°Ρ , Π΅Π³ΠΎ Π±ΡΠ°ΡΠ·Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.Β
Π€ΠΎΡΠΌΡ Π½Π° ΡΠ°ΠΉΡΠ°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ»Ρ Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ ΠΊΠ°ΡΡ. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΡΠΎΠΈΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΠ°ΠΉΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌ.Β
Π§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: ΠΡΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ Π΅Π΅ ΠΏΠΎΠ·ΠΆΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΠΈΠ½Π³Π°.Β ΠΠΎ ΡΡΡΠΈ, Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π·Π°Π±ΡΠ²ΡΠΈΠΉ ΠΎΠ± ΡΡΠΎΠΌ Π½ΡΠ°Π½ΡΠ΅, ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.Β
Π§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π½Π°Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ: ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ vs Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. ΠΡΠ»ΠΈ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΡΠΌΠ°Π΅Ρ ΠΎ ΠΊΠΎΠΌΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ
Web Content Accessibility Guidelines β ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ ΠΏΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ.ΒΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ autocompete=Β«offΒ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Β <body> Β Β Β Β <form action="/form/submit" method="get" autocomplete="off"> Β Β Β Β Β Β <div> Β Β Β Β Β Β Β Β <input type="text" placeholder="First Name"> Β Β Β Β Β Β </div> Β Β Β Β Β Β <div> Β Β Β Β Β Β Β Β <input type="text" id="lname" placeholder="Last Name" autocomplete="on"> Β Β Β Β Β Β </div> Β Β Β Β Β Β <div> Β Β Β Β Β Β Β Β <input type="number" placeholder="Credit card number"> Β Β Β Β Β Β </div> Β Β Β Β Β Β <input type="submit"> Β Β Β Β </form> Β Β </body>
ΠΠΎ Π΄Π»Ρ Chrome ΠΎΠ½ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript, Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΅ΡΠ΅ΠΏΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ
Π·Π΄Π΅ΡΡ .Β - Π ΠΊΠΎΠ΄Π΅ ΡΠ°ΠΉΡΠ° Π½Π΅ Π·Π°Π΄Π°Π½ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ X-Frame-Options.Β
ΠΡΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ΅Π³ΠΈ frame, iframe, embed ΠΈΠ»ΠΈ object. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΡ Π²Π½ΡΡΡΡ ΡΡΠ΅ΠΉΠΌΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ X-Frame-Options: deny. ΠΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ X-Frame-Options: sameorigin, ΡΠΎΠ³Π΄Π° Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ Π² iframe Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅.
Π§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΡΠ°Ρ Π΄Π»Ρ ΠΊΠ»ΠΈΠΊΠ΄ΠΆΠ΅ΠΊΠΈΠ½Π³Π°. ΠΠ»Ρ ΡΠ°ΠΊΠΎΠΉ Π°ΡΠ°ΠΊΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌ ΠΏΠΎΠ²Π΅ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΠΎΠ±ΠΌΠ°Π½ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΌΠΎΡΠ΅Π½Π½ΠΈΠΊΠΈ ΡΡΠ°Π²ΡΡ Π²ΠΎ ΡΡΠ΅ΠΉΠΌ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΡΠΌΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ»ΠΈΠΊΠ°Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° ΡΡΠΎΠΌ ΡΠ°ΠΉΡΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ, Π³Π΄Π΅ Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ΅ΡΡΠΈΡ. Π’Π°ΠΊ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ ΡΠ°ΡΡΡΠ»Π°ΡΡ ΡΠΏΠ°ΠΌ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π½Π°ΠΊΡΡΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² ΠΈ Π»Π°ΠΉΠΊΠΈ.Β
ΠΡΠ»ΠΈ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΡ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠ»ΠΈ Π² Π²Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ .Β Β
Π§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ X-Frame-Options Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Π½ Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°ΡΡΠΈ.Β Β
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ deny ΠΈ sameorigin Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° X-Frame-Options Π±ΡΠ΄ΡΡ ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ΅ Π²Π΅Π±Π²ΠΈΠ·ΠΎΡΠ° Π―Π½Π΄Π΅ΠΊΡΠ°. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ iframe Π΄Π»Ρ Π²Π΅Π±Π²ΠΈΠ·ΠΎΡΠ°, Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ nginx ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
http{ ... Β map $http_referer $frame_options { Β "~webvisor.com" "ALLOW-FROM http://webvisor.com"; Β default "SAMEORIGIN"; Β } Β add_header X-Frame-Options $frame_options; ... }
- Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ PRSSI (Path-relative stylesheet import).Β Β
ΠΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π² ΡΡΠΈΠ»ΡΡ ΡΠ°ΠΉΡΠ°. ΠΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΡΡΠΈΠ»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π²ΠΈΠ΄Π° href="/somefolder/styles.css/". ΠΠ»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΈΠΌ, Π΅ΡΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅Ρ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ Π² ΡΠ²ΠΎΠΉ url ΠΈ ΠΈΠΌΠΈΡΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΈΠ»ΡΠΌ. ΠΠΎΠ»ΡΡΠΈΡΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ badsite.ru/…/somefolder/styles.css/, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ Π²ΠΈΠ΄ΠΎΠΌ ΡΡΠΈΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.Β
Π§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: ΠΠΎΡΠ΅Π½Π½ΠΈΠΊ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅Ρ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ Π΄ΡΡΡ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΊΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΎΠΊΠ΅Π½Ρ.
Π§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: ΠΠ°Π΄Π°ΠΉΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ X-Content-Type-Options: nosniff. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ ΡΠΈΠΏ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΡΠΈΠ»Π΅ΠΉ. ΠΡΠ»ΠΈ ΡΠΈΠΏ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ text/css, Π±ΡΠ°ΡΠ·Π΅Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ.
ΠΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
- Π‘ΡΡΠ°Π½ΠΈΡΠ° Ρ ΠΏΠΎΠ»Π΅ΠΌ Π΄Π»Ρ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎ Π½Π΅Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ (HTML form containing password field(s) is served over HTTP).
ΠΡΠ²Π΅Ρ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎ Π½Π΅ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ ΡΡΠ·Π²ΠΈΠΌ Π΄Π»Ρ Π°ΡΠ°ΠΊ ΡΠΈΠΏΠ° Β«Man in the middleΒ».Β ΠΠ»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΈ Π²ΠΊΠ»ΠΈΠ½ΠΈΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΈΠ΄Π΅Ρ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ.Β
Π§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: ΠΠΎΡΠ΅Π½Π½ΠΈΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΏΡΠΈΡΠ»Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΉΠ΄ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°.Β
Π§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΡΠΈΡΡΠ»Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΠΏΠΎΡΡΡ/ΡΠ΅Π»Π΅ΡΠΎΠ½. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΊΡΠΈΡΠΈΡΠ½Π°, Π½ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡ ΠΆΠΈΠ·Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
- ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΡΠΌΡ Ρ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ ΠΈ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ ΠΏΠΎ Π½Π΅Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ (Login Form Is Not Submitted Via HTTPS).
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ Π½Π΅ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ° Ρ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ ΠΈ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ.
Π§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ»ΡΡΠ°Ρ, ΡΡΠΎ ΡΠΆΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ. ΠΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄.Β
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ JavaScript Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ.
ΠΠ° Π²ΡΠ΅ΠΌΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΡΡΠ°Π» jQuery Ρ ΠΎΠ±ΡΠΈΡΠ½ΡΠΌ ΡΠΊΠΎΠΏΠΎΠΌ Π²Π΅ΡΡΠΈΠΉ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²Π΅ΡΡΠΈΠΉ Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½Π°, Π° ΡΠΎ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΌΡΠΌ ΡΠ°Π·Π½ΡΠΌ β Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΈΡΠΎΠ΄Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
Π§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: ΠΠ»Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΅ΡΡΡ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅:
Π§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ ΡΠΈΠΊΠ»Ρ: ΠΏΠΎΠΈΡΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ β ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ β ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠ°ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π±ΡΠ΄ΠΆΠ΅ΡΠ°, ΠΈΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ.Β - ΠΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ (XSS).Β
Cross-Site Scripting (XSS), ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ, β ΡΡΠΎ Π°ΡΠ°ΠΊΠΈ Π½Π° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡ. ΠΡΠ»ΠΈ Qualys Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ, Π·Π½Π°ΡΠΈΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²Π½Π΅Π΄ΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΠΆΠ΅ Π²Π½Π΅Π΄ΡΠΈΠ» Π² ΠΊΠΎΠ΄ ΡΠ°ΠΉΡΠ° ΡΠ²ΠΎΠΉ js-ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.Π₯ΡΠ°Π½ΠΈΠΌΡΠ΅ XSS (Stored XSS) Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠ°ΡΠ½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡ Π²Π½Π΅Π΄ΡΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π°ΡΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΡΡΠ°ΠΆΠ΅Π½Π½ΡΠ΅ XSS (Reflected XSS) ΠΏΡΠΎΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π΄ΡΠΈΡΡ Π² HTTP-Π·Π°ΠΏΡΠΎΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡ HTTP-Π·Π°ΠΏΡΠΎΡ, Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ Π΄Π°Π½Π½ΡΠ΅, ΡΠΏΠ°ΠΊΡΠ΅Ρ ΠΈΡ ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡ. ΠΡΠ»ΠΈ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΈ Π²ΡΡΠ°Π²ΠΈΡ ΡΠΊΡΠΈΠΏΡ Π²ΠΈΠ΄Π°
<script>/*+ΡΡΠΎ+ΡΠΎ+ΠΏΠ»ΠΎΡ ΠΎΠ΅+*/</script>
ΡΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠΉΠ΄Π΅Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ.
Π―ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ XSS: js-ΡΠ½ΠΈΡΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠΈΡΠΈΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° CVC, ΡΡΠΎΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠ°ΡΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.Β
Π§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Content-Security-Policy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΡΠΈΠ±ΡΡ script-src, ΡΡΠΎΠ±Ρ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π·Π°Π³ΡΡΠΆΠ°Π» ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ» ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄ Ρ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, script-src ‘self’ Π²Π½ΠΎΡΠΈΡ Π² Π±Π΅Π»ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°.Β
ΠΠ°ΠΈΠ»ΡΡΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ Inline code: ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ inline javascript Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ unsafe-inline. Π’Π°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ inline js/css, Π½ΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ js-ΡΠ°ΠΉΠ»Ρ. Π ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠΎ script-src ‘self’ ΠΌΡ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ.ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΎΠ³ΠΈΡΡΠΉΡΠ΅ Π²ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ report-uri ΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠΏΡΡΠΊΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΡ.
- SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΡ ΠΊΠΎΠ΄Π° SQL, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΉΡΠ°. SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΠΊΡΠ°Π½ΠΈΡΡΡΡΡΡ: Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΠ°Π·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠΎΡΠΌΠ° Π½Π° ΡΠ°ΠΉΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ .ΒΠ§Π΅ΠΌ ΠΎΠΏΠ°ΡΠ½ΠΎ: ΠΡΠ»ΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π²Π²Π΅Π΄Π΅Ρ Π² ΡΠ°ΠΊΡΡ ΡΠΎΡΠΌΡ SQL-Π·Π°ΠΏΡΠΎΡ, ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ½ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π²ΡΠ΄Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.Β
Π§ΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ: ΠΠ΅ Π΄ΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΎΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΠ°ΡΠΈΡΠ°ΡΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°.Β
ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΠ»Π΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript.Β
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ .
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ΄Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ Π½Π° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.Β
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: Π·Π°ΠΏΡΠΎΡ Ρ id (ΡΠΌΠ΅Π½Π° id), ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, β Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² Π±Π°Π·Π΅. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ sql-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΡ ΠΈΠ· Π±Π°Π·Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° sql-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ.
ΠΠ±ΡΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ
ΠΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΠΉΡΠ΅ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈΒ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ. ΠΠ»Ρ .NET β ΡΡΠΎ ASP.NET MVC ΠΈ ASP.NET Core, Π΄Π»Ρ Python β Django ΠΈΠ»ΠΈ Flask, Π΄Π»Ρ Ruby β Ruby on Rails, Π΄Π»Ρ PHP β Symfony, Laravel, Yii, Π΄Π»Ρ JavaScript β Node.JS- Express.js, Π΄Π»Ρ Java β Spring MVC.
Π‘Π»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ Π²Π΅Π½Π΄ΠΎΡΠ° ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π½Π°ΠΉΠ΄ΡΡ, Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΏΠΈΡΡΡ ΡΠΊΡΠΏΠ»ΠΎΠΉΡ, Π²ΡΠ»ΠΎΠΆΠ°Ρ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ, ΠΈ Π²ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡΡ ΠΏΠΎ-Π½ΠΎΠ²ΠΎΠΉ. ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΎΡ Π²Π΅Π½Π΄ΠΎΡΠ° ΠΠ.
ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°. Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅ΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½ Π²Π΅ΡΡ, ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π±ΡΠΊΠ²Ρ, Π½Π°ΠΏΠΈΡΠ°Π½ Π²Π°ΡΠΈΠΌ ΡΠ°ΠΌΡΠΌ Π½Π΅Π½Π°Π²ΠΈΡΡΠ½ΡΠΌ Π²ΡΠ°Π³ΠΎΠΌ, ΠΆΠ΅Π»Π°ΡΡΠΈΠΌ ΡΠ»ΠΎΠΌΠ°ΡΡ Π²Π°Ρ ΡΠ°ΠΉΡ, Π½Π°ΡΡΡΠΈΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π²Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ . Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΊ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΠΎΠ½Ρ, ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ, Π° ΠΏΠΎΡΠΎΠΌ ΡΠΆΠ΅ Π»Π΅ΠΉΡΠ΅ Π½Π° ΠΏΡΠΎΠ΄.Β ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»ΡΠΏΠΎΠ² ΠΈ ΠΊΠΎΡΡΠΊΠΎΠ² Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅: ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½Π°Ρ ΡΡΠ΅Π΄Π° ΠΏΡΠΈΠ½ΠΎΡΠΈΡ Π΄Π΅Π½ΡΠ³ΠΈ, ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΠΊΡΠΈΡΠΈΡΠ΅Π½. ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΠΎΠΈΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΆΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ.Β
ΠΠ°ΡΠΈΡΠ°ΠΉΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com