ΠΠ΅Π½ΡΠΈΠ»ΡΡΠΈΡ ΠΈ ΡΠ»Π΅ΠΊΡΡΠΈΠΊΠ° Β· 9 ΠΌΠΈΠ½
ΠΠ°ΠΊ ΡΡΡΡΠ°Π½ΠΈΡΡ CSS-Π±Π°Π½ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ
Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ CSS-ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ Π±Π°Π½ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ΅, ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²Π΅Π±-ΡΠ΅ΡΡΡΡΠ°.
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ°ΡΡΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΠΌΠΈΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠ°ΡΠΊΠ°Π΄Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΡΡΠΈΠ»Π΅ΠΉ (CSS). Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ WAF (Web Application Firewall) ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠΈΠΏΠ° mod_security, ΠΌΠΎΠ³ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² CSS ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΡΠΊΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ°ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΏΠΎΠΏΡΡΠΊΠ°Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· url() ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ MIME-ΡΠΈΠΏΠΎΠ². ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠ»ΡΡΡΡ ΡΠΊΠ°Π½ΠΈΡΡΡΡ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΉ ΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ, ΠΈ Π΅ΡΠ»ΠΈ CSS-ΡΠ°ΠΉΠ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΠ΅ XSS-Π°ΡΠ°ΠΊΠΈ (ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³) ΠΈΠ»ΠΈ SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ, IP-Π°Π΄ΡΠ΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π½Π΅ΡΠ΅Π½ Π² ΡΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ.
ΠΠ»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ΅Π½ΠΈΡΡ IP, Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π³Π»ΡΠ±ΠΎΠΊΡΡ Π°ΡΠ΄ΠΈΡ ΠΊΠΎΠ΄Π° ΡΡΠΈΠ»Π΅ΠΉ. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ ΠΈ Π»ΠΎΠΆΠ½ΡΠΌ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΡΠΈΡΡ. ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ½ΡΡΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈΠ³Π³Π΅Ρ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π² ΠΊΠΎΠ΄Π΅ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ.
ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΈΡΠΈΠ½ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π½Π°Π»ΠΈΠ· Π»ΠΎΠ³ΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ±ΡΡΠ½ΠΎ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΊΡΠΈΡΡΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 403 Forbidden, ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π½Π°ΡΡΡΠ΅Π½ΠΎ. ΠΡΠ»ΠΈ Π² Π»ΠΎΠ³Π°Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΎ ΡΡΠΈΠ»ΡΠΌΠΈ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² CSS-ΡΠ°ΠΉΠ»Π°Ρ .
Π§Π°ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ url() Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ, ΠΎΡΠ»ΠΈΡΠ½ΡΠΌΠΈ ΠΎΡ http/https. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠ»ΡΡΡΡ Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΠ»ΡΡΡΡ Π² Π±Π°Π·Π°Ρ
ΡΠΈΡΠΈΠ½Π³ΠΎΠ²ΡΡ
ΡΠ°ΠΉΡΠΎΠ², Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΡΠ»ΠΊΠ° Π²ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ legitimately.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊ Π² CSS. Π§ΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ base64 ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΠΎΡΠΏΡΠΈΠ½ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π·Π°ΡΠΈΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΡΠΊΡΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π»ΠΎΠ³ΠΈ WAF Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» CSS
ΠΡΠ΄ΠΈΡ ΡΠ²Π΅ΠΆΠ΅Π³ΠΎ CSS ΠΊΠΎΠ΄Π° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΎΡΠ²Π΅ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ MIME-ΡΠΈΠΏΡ
ΠΠ½Π°Π»ΠΈΠ· ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ CSS-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡΠΌΠΈ. Π₯ΠΎΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ΡΡΠΈΠ»ΠΈ, ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΠ³Π³Π΅ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ expression() Π² ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΡΡ
IE ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ²ΠΎΠΉΡΡΠ² -moz-binding.
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ: @import, url(), content. ΠΡΠ»ΠΈ Π² ΡΡΠΈΡ
ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π±Π΅Π· Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ ΡΠ°Π½ΠΈΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΈΡΠΊ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΡΠ΅ΡΡΡ ΡΠΊΠ°Π½Π΅ΡΠ°ΠΌΠΈ.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΊΠ°Π²ΡΡΠ΅ΠΊ, ΡΠΊΠΎΠ±ΠΎΠΊ ΠΈ ΡΠ»ΡΡΠ΅ΠΉ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ ΠΏΠ°ΡΡΠ΅ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π·Π°ΡΡΠ°Π²Π»ΡΡ ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π²Π΅Π½ΡΠΈΠ²Π½ΠΎ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ MIME-ΡΠΈΠΏΠΎΠ²
ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΎΡΠ²Π΅ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ CSS-ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Π‘Π΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ΄Π°Π²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΡΡΠΈΠ»Π΅ΠΉ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Content-Type: text/css. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΎΡΠ΄Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ text/html ΠΈΠ»ΠΈ application/octet-stream, Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΈ Π·Π°ΡΠΈΡΠ½ΡΠ΅ ΡΠ»ΡΠ·Ρ ΠΌΠΎΠ³ΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (X-Content-Type-Options: nosniff).
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° X-Content-Type-Options: nosniff ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ. ΠΠ½ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΏΡΡΠ°ΡΡΡΡ ΡΠ³Π°Π΄Π°ΡΡ ΡΠΈΠΏ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π΅ΡΠ»ΠΈ CSS ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, Π±ΡΠ°ΡΠ·Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π·Π°ΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠ°ΠΊ Π°ΡΠ°ΠΊΠ°.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° (Nginx ΠΈΠ»ΠΈ Apache). Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ .css ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠΈΠΏΡ MIME. ΠΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ³ΡΠΎΠ·Π° ΠΈΠ·-Π·Π° Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π°Π½Π½ΡΡ .
location ~* \.css$ {
add_header Content-Type text/css;
add_header X-Content-Type-Options nosniff;
}Π Π°Π±ΠΎΡΠ° Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΈ CDN
ΠΡΠ»ΠΈ Π²Π°ΡΠΈ ΡΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡ ΡΡΠΈΡΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΡ CDN, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π΄ΠΎΠΌΠ΅Π½Ρ ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ΅ΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠ°Ρ . ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π΅ ΠΈΠ·-Π·Π° Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π° ΠΈΠ·-Π·Π° ΡΠ΅ΠΏΡΡΠ°ΡΠΈΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ Π²Π°Ρ CSS.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° (CSP). ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-Security-Policy ΡΠΊΠ°ΠΆΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΡΠΈΠ»ΠΈ. ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡ Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠ΄ΡΡ ΡΠ²Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ CDN ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ HTTPS. Π‘ΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ (Π·Π°Π³ΡΡΠ·ΠΊΠ° CSS ΠΏΠΎ HTTP Π½Π° HTTPS ΡΠ°ΠΉΡΠ΅) ΡΠ°ΡΡΠΎ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΠ΅Π½Π΅Π½ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌΠΈ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠ½ΠΈΡΡΠΈΠ½Π³Π°.
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ IP-Π°Π΄ΡΠ΅ΡΠ°
ΠΠΎΡΠ»Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΡΠ½ΡΡΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ. ΠΡΠΎΡΡΠΎ ΠΆΠ΄Π°ΡΡ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π°Π½Π° Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ IP ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅Π½ Π½Π°Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎ ΡΡΡΠ½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ ΠΎΡΡΠ΅Ρ ΠΎΠ± ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡ . Π£ΠΊΠ°ΠΆΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΡΠ°Π½Π΅Π½Ρ ΠΈ ΠΊΠ°ΠΊ Π²Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎ ΠΏΠΎΠ²ΡΡΠΈΡ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠΈ Ρ ΠΎΡΡΠΈΠ½Π³Π° ΠΈΠ»ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π‘Π²ΡΠΆΠΈΡΠ΅ΡΡ Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ. ΠΡΠ»ΠΈ Π±Π°Π½ Π½Π°Π»ΠΎΠΆΠ΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ°ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΡΠΌΠ° Π°ΠΏΠ΅Π»Π»ΡΡΠΈΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ 403. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ email Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°.
- 1ΠΡΠ΄ΠΈΡ CSS ΡΠ°ΠΉΠ»Π° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ expression() ΠΈ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ url()
- 2ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Content-Type ΠΈ CSP Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
- 3ΠΡΠΏΡΠ°Π²ΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ° Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ
ΠΡΠΎΡΠΈΠ»Π°ΠΊΡΠΈΠΊΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ
ΠΠ½Π΅Π΄ΡΠΈΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΊΠΎΠ΄Π° (Π»ΠΈΠ½ΡΠΈΠ½Π³) Π² ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ Stylelint ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Π½Π° ΠΏΠΎΠΈΡΠΊ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΠ»ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½ΠΎ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ.
Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ CSS. Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΡΠΈΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ.
ΠΠΎΠ½ΠΈΡΠΎΡΡΡΠ΅ Π»ΠΎΠ³ΠΈ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π°Π»Π΅ΡΡΠΎΠ² Π½Π° ΡΠ°ΡΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ 403 ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²ΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° ΡΠ°Π½Π½Π΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ, Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΠ»Π½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° IP-Π°Π΄ΡΠ΅ΡΠ°. ΠΠ½Π°Π»ΠΈΠ· ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΅Π°ΠΊΡΠΈΡ ΡΠΈΠ»ΡΡΡΠ°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΊΠ°Π½Π΅ΡΡ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡΡ CSS Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ OWASP.
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ CSS, Π½ΠΎ ΠΈ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π²ΡΠΎΠ΄Π΅ X-Frame-Options ΠΈ Referrer-Policy ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»ΠΎΠΉ Π·Π°ΡΠΈΡΡ, ΡΠ½ΠΈΠΆΠ°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π°Ρ ΡΠ΅ΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π°ΡΠ°ΠΊ, ΡΡΠΎ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ Π΄ΠΎΠΌΠ΅Π½Π°.
Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π΄Π»Ρ ΡΡΠ°ΡΠΈΠΊΠΈ. ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ CSS ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, static.domain.com) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠΏΡΠΎΡΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°.
ΠΠ°ΠΊ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅
ΠΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ» Π² CSS Π²ΡΠ·Π²Π°ΡΡ Π±Π°Π½ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°?
ΠΠ°, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ WAF ΠΎΠ΄Π½Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠ°Ρ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ Π°ΡΠ°ΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ IP-Π°Π΄ΡΠ΅ΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π·Π°ΠΏΡΠΎΡ Ρ ΡΡΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ.
ΠΠ°ΠΊ ΠΎΡΠ»ΠΈΡΠΈΡΡ Π±Π°Π½ Π·Π° CSS ΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ 404?
ΠΡΠΈΠ±ΠΊΠ° 404 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½. ΠΠ°Π½ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ 403 Forbidden ΠΈΠ»ΠΈ 429 Too Many Requests, Π° Π² Π»ΠΎΠ³Π°Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (Security Rule ID).
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΌΠ΅Π½ΡΡΡ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΡΠΈ CSS-Π±Π°Π½Π΅?
ΠΠ΅Ρ, ΡΠΌΠ΅Π½Π° Π΄ΠΎΠΌΠ΅Π½Π° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΡΠΈΠ½Π° Π² ΠΊΠΎΠ΄Π΅. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΡΡΠΊΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠΈΠ»Π΅ΠΉ ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠΌ Π½Π° ΡΠ½ΡΡΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ IP ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅Π½Π°.
ΠΠ»ΠΈΡΠ΅Ρ Π»ΠΈ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ CSS Π½Π° ΡΠΈΡΠΊ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ?
ΠΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΡΡΡΠΎΠΊ, Π΄Π΅Π»Π°Ρ ΡΠ°ΠΉΠ» ΠΎΠ΄Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΠ²ΠΎΡΠΈΡΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΡ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΠΈΠ·-Π·Π° ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ³ΡΡΠ·ΠΊΠΎΠΉ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΡΠΈΠ½Π³ ΠΌΠΎΠ»ΡΠΈΡ ΠΈ Π½Π΅ ΡΠ½ΠΈΠΌΠ°Π΅Ρ Π±Π°Π½?
ΠΡΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠ°ΠΉΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ Ρ ΠΎΡΡΠΈΠ½Π³ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ CDN Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΎΠ±Ρ ΠΎΠ΄Π° (Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°), ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΈΡΠ΅Π½ ΠΎΡ ΡΠ³ΡΠΎΠ·.
Π―Π²Π»ΡΡΡΡΡ Π»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² CSS ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ?
Π‘Π°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Π½ΡΡΡΠΈ Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ. Π ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ΄Π°Π»ΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ· ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-Π²Π΅ΡΡΠΈΠΈ CSS.
Π§ΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ
CSS-Π±Π°Π½ β ΡΡΠΎ ΡΠ΅Π°ΠΊΡΠΈΡ Π·Π°ΡΠΈΡΡ Π½Π° ΠΊΠΎΠ΄, Π° Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΡΡΡ. ΠΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π°ΡΠ΄ΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ.