SPF-Π·Π°ΠΏΠΈΡΡ
ΠΠ΅ΡΠ΅Π΅Π·Π΄ Π² Π―Π½Π΄Π΅ΠΊΡ 360 Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ°
ΠΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π²Π°ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π² Π―Π½Π΄Π΅ΠΊΡ 360 Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΈΠ· Google Workspace, Microsoft 365 ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. Π‘ΠΌΠΎΡΡΠ΅ΡΡ >
SPF-Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠΈΡΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Ρ Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π²Π°ΡΠ΅ΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅, ΠΏΠΎΠΏΠ°Π΄Π΅Ρ Π² ΡΠΏΠ°ΠΌ Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠ°. Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ SPF-Π·Π°ΠΏΠΈΡΡ, Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ TXT-Π·Π°ΠΏΠΈΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎΡΡΡ Ρ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°.
ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π»ΠΈ Π΄ΠΎΠΌΠ΅Π½ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ Π―Π½Π΄Π΅ΠΊΡΠ°, SPF-Π·Π°ΠΏΠΈΡΡ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
- ΠΠ±ΡΠ°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ SPF-Π·Π°ΠΏΠΈΡΠΈ
- ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ SPF-Π·Π°ΠΏΠΈΡΠΈ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ²
ΠΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ (Π·ΠΎΠ½ΠΎΠΉ DNS) Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ DNS-Ρ ΠΎΡΡΠΈΠ½Π³.
SPF-Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠΈΡΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Ρ Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π²Π°ΡΠ΅ΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅, ΠΏΠΎΠΏΠ°Π΄Π΅Ρ Π² ΡΠΏΠ°ΠΌ Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠ°. Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ SPF-Π·Π°ΠΏΠΈΡΡ, Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ TXT-Π·Π°ΠΏΠΈΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎΡΡΡ Ρ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅β
v=spf1 redirect=_spf.yandex.net
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΈΡΡΠΌΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π―Π½Π΄Π΅ΠΊΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅:
v=spf1 ip4:IP-1 ip4:IP-2 ip4:IP-3 include:_spf.yandex.net ~all
ΠΠ΄Π΅
IP-1
,IP-2
,IP-3
β IP-Π°Π΄ΡΠ΅ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².ΠΠΌΡ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π° (ΠΈΠ»ΠΈ Π₯ΠΎΡΡ) β
@
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ°Π½Π΅Π»ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°
@
Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,example.org.
). ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π½ΠΈ@
, Π½ΠΈ ΠΈΠΌΡ Π΄ΠΎΠΌΠ΅Π½Π°, ΠΎΡΡΠ°Π²ΡΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ»Π΅ ΠΏΡΡΡΡΠΌ.ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΠ»Π΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ.
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠ»Π΅ TTL, ΡΠΊΠ°ΠΆΠΈΡΠ΅
21600
.
ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΠΏΠΎΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΡΡΠΏΡΡ Π² ΡΠΈΠ»Ρ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎ 72 ΡΠ°ΡΠΎΠ², ΡΡΠΎΠ±Ρ DNS-ΡΠ΅ΡΠ²Π΅ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΡΠ»ΠΈΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ Π½ΠΎΠ²ΡΡ DNS-Π·Π°ΠΏΠΈΡΡΡ .
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ https://reg.ru ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² Π²Π°Ρ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ Π²Π°ΡΠΈΠΌ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠΎΠΌΠ΅Π½Ρ ΠΈ ΡΡΠ»ΡΠ³ΠΈ.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°. ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
ΠΡΠ±Π΅ΡΠΈΡΠ΅ DNS-ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·ΠΎΠ½ΠΎΠΉ.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΡ TXT-Π·Π°ΠΏΠΈΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΠ»Π΅ΠΉ:
ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΠΏΠΎΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² DNS Π²ΡΡΡΠΏΡΡ Π² ΡΠΈΠ»Ρ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎ 72 ΡΠ°ΡΠΎΠ², ΡΡΠΎΠ±Ρ DNS-ΡΠ΅ΡΠ²Π΅ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΡΠ»ΠΈΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ Π½ΠΎΠ²ΡΡ DNS-Π·Π°ΠΏΠΈΡΡΡ .
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ https://cp.masterhost.ru ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² Π²Π°Ρ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ DNS-Π·ΠΎΠ½Ρ.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°. ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° ΠΡΠΎΡΠΌΠΎΡΡ DNS-Π·ΠΎΠ½Ρ.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΡ TXT-Π·Π°ΠΏΠΈΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΠ»Π΅ΠΉ:
ΠΠΎΠ»Π΅ MX preference ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΡΡΡΡΠΌ.
ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΠΏΠΎΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² DNS Π²ΡΡΡΠΏΡΡ Π² ΡΠΈΠ»Ρ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎ 72 ΡΠ°ΡΠΎΠ², ΡΡΠΎΠ±Ρ DNS-ΡΠ΅ΡΠ²Π΅ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΡΠ»ΠΈΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ Π½ΠΎΠ²ΡΡ DNS-Π·Π°ΠΏΠΈΡΡΡ .
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ https://mcp.sweb.ru ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² Π²Π°Ρ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
Π ΡΠ°Π·Π΄Π΅Π»Π΅ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΎΡΡΠΈΠ½Π³ΠΎΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ DNS.
Π Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½.
Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΡ TXT-Π·Π°ΠΏΠΈΡΡ. Π ΠΏΠΎΠ»Π΅ ΡΠΊΠ°ΠΆΠΈΡΠ΅
v=spf1 redirect=_spf. yandex.net
.ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΈΡΡΠΌΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π―Π½Π΄Π΅ΠΊΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅:
v=spf1 ip4:IP-1 ip4:IP-2 ip4:IP-3 include:_spf.yandex.net ~all
ΠΠ΄Π΅
IP-1
,IP-2
,IP-3
β IP-Π°Π΄ΡΠ΅ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΠΏΠΎΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² DNS Π²ΡΡΡΠΏΡΡ Π² ΡΠΈΠ»Ρ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎ 72 ΡΠ°ΡΠΎΠ², ΡΡΠΎΠ±Ρ DNS-ΡΠ΅ΡΠ²Π΅ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΡΠ»ΠΈΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ Π½ΠΎΠ²ΡΡ DNS-Π·Π°ΠΏΠΈΡΡΡ .
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ https://cp.beget.com ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² Π²Π°Ρ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ DNS.
Π Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½.
Π Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ Ρ Π½ΡΠΆΠ½ΡΠΌ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ . DNS-Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΠΌΠ΅Π½Π° ΡΡΠ°Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΡ TXT-Π·Π°ΠΏΠΈΡΡ, Π² ΠΏΠΎΠ»Π΅ txt data ΡΠΊΠ°ΠΆΠΈΡΠ΅
v=spf1 redirect=_spf.yandex.net
.ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΈΡΡΠΌΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π―Π½Π΄Π΅ΠΊΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅:
v=spf1 ip4:IP-1 ip4:IP-2 ip4:IP-3 include:_spf.yandex.net ~all
ΠΠ΄Π΅
IP-1
,IP-2
,IP-3
β IP-Π°Π΄ΡΠ΅ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΠΏΠΎΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² DNS Π²ΡΡΡΠΏΡΡ Π² ΡΠΈΠ»Ρ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎ 72 ΡΠ°ΡΠΎΠ², ΡΡΠΎΠ±Ρ DNS-ΡΠ΅ΡΠ²Π΅ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΡΠ»ΠΈΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ Π½ΠΎΠ²ΡΡ DNS-Π·Π°ΠΏΠΈΡΡΡ .
reg.ru
masterhost.ru
sweb.ru
beget.com
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ DNS-Π·Π°ΠΏΠΈΡΠ΅ΠΉ:
Timeweb
Hostinger
RedDock
Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΡ Π½Π°Β ΡΠ°ΠΉΡΠ°Ρ ΡΒ CSP — Π Π΅ΠΊΠ»Π°ΠΌΠ½Π°Ρ ΡΠ΅ΡΡ.
Π‘ΠΏΡΠ°Π²ΠΊΠ°Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π²Π½ΡΡΡΠΈ HTML-ΠΊΠΎΠ΄Π° ΡΡΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΡΠ°. ΠΠ° ΡΠ°ΠΉΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Content Security Policy, ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π² HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΡΡ : ΠΏΠΎΠΊΠ°Π· ΡΠ΅ΠΊΠ»Π°ΠΌΡ, Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΠ»Π΅ΠΉ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:
Content-Security-Policy: default-src 'none'; connect-src 'self' blob: yastatic.net *.adfox.ru *.yandex.ru yandex.ru yandex.com; frame-src yandexadexchange.net *.yandexadexchange.net yastatic.net *.yandex.ru *.adfox.ru; img-src 'self' *.yandex.net *.adfox.ru *.yandex.ru yandex.ru yandex.com data:; media-src yastatic.net *.yandex.net *.yandex.ru *.adfox.ru yandex.ru yandex.com blob: data:; script-src 'unsafe-inline' 'unsafe-eval' yastatic.net *.yandex.ru *.adfox.ru yandex.ru yandex.com; style-src 'unsafe-inline' 'unsafe-eval' yastatic.net *.adfox.ru; font-src 'self' yastatic.net data:;
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»Ρ img-src
Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² *.yandex.ru. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
Π HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ script-src ΠΈ style-src Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ nonce. ΠΡΠΎΡ Π°ΡΡΠΈΠ±ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· Π»Π°ΡΠΈΠ½ΡΠΊΠΈΡ Π±ΡΠΊΠ² ΠΈ ΡΠΈΡΡ. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅.
Content-Security-Policy: script-src 'nonce-<ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²>'; style-src 'nonce-<ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²>'
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:
Content-Security-Policy: default-src 'none'; connect-src 'self' blob: yastatic. net *.adfox.ru *.yandex.ru yandex.ru yandex.com; frame-src yandexadexchange.net *.yandexadexchange.net yastatic.net *.yandex.ru *.adfox.ru; img-src 'self' *.yandex.net *.adfox.ru *.yandex.ru yandex.ru yandex.com data:; media-src yastatic.net *.yandex.net *.yandex.ru *.adfox.ru yandex.ru yandex.com blob: data:; script-src 'nonce-<ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²>' 'unsafe-inline' 'unsafe-eval' yastatic.net *.yandex.ru *.adfox.ru yandex.ru yandex.com; style-src 'nonce-<ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²>' 'unsafe-inline' 'unsafe-eval' yastatic.net *.adfox.ru; font-src 'self' yastatic.net data:;
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»Ρ
img-src
Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²Π ΠΊΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π Π‘Π― Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΡΠ°ΠΉΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° nonce, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅.
<div></div> <script type="text/javascript" nonce="<ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²>"> (function(w, d, n, s, t) { w[n] = w[n] || []; . ..
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΠΈΡΡΠΌΠΎ
ΠΠ°ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ°Ρ
Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ASP.NET | HTML, CSS, JavaScript ΠΈ C#
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ HTML, CSS, JavaScript ΠΈ C#
ΠΠ°ΡΠ°ΡΡ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Linux, Windows ΠΈ macOS
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ .NET ΠΈ C#
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ .NET ΠΈ C# Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ HTML5, CSS ΠΈ JavaScript, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ, Π±ΡΡΡΡΡΠΌΠΈ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ C#
Blazor β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ASP.NET Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ C# Π²ΠΌΠ΅ΡΡΠΎ JavaScript. Blazor ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ Π½Π°ΡΡΠΎΡΡΠΈΠΉ .NET, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π½Π° WebAssembly.
Π£Π·Π½Π°ΠΉΡΠ΅ ΠΎ Blazor
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ HTML Ρ ΠΏΠΎΠΌΠΎΡΡΡ Razor
Razor ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ, ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΈ Π»Π΅Π³ΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²Π΅Π±-ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ HTML ΠΈ C#.
Π‘ Razor Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΡΡΠ½ΠΊΡΠΈΡ HTML ΠΈΠ»ΠΈ C#. ΠΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π΄Π»Ρ ΠΎΠ±ΠΎΠΈΡ , Π²ΠΊΠ»ΡΡΠ°Ρ IntelliSense, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
Π£Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Razor
ΠΠΎΠ»Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π²Π°ΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ
ΠΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Entity Framework (EF) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ SQLite, SQL Server, MySQL, PostgreSQL, DB2 ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ MongoDB, Redis ΠΈ Azure Cosmos DB.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Entity Framework
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ASP.NET ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΊΡΠΎΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Google, Twitter ΠΈ Ρ. Π΄.
ASP.NET ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΎΡΡΠ°ΡΠ»Π΅Π²ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π·Π°ΡΠΈΡΠΈΡΡ Π²Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π° (XSS) ΠΈ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² (CSRF).
Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΡΠΎΡΠΌΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°
ΠΡΡΡΡΠΎ ΡΠΎΡΠΌΠΈΡΡΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ HTML-ΡΠΎΡΠΌΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ C#, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ΅.
ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° JavaScript
ASP.NET Π»Π΅Π³ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ JavaScript. ΠΡΡΡΡΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΠΉΡΠ΅ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ ASP.NET ΠΈ React ΠΈΠ»ΠΈ Angular, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ.
Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² SPA Ρ ASP. Π‘ΠΠ’Π¬
Model View Controller (MVC)
MVC β ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅), Π΄Π°Π½Π½ΡΡ (ΠΌΠΎΠ΄Π΅Π»Ρ) ΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ).
ASP.NET ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°Π±Π»ΠΎΠ½Π° MVC, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ MVC Ρ ASP.NET
ΠΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, Π²Π°ΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
ASP.NET ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΉ ΠΠ‘.
Π‘Π΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Visual Studio ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ .NET Π΄Π»Ρ Windows, Linux ΠΈ macOS.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ .NET.
Π£Π·Π½Π°ΠΉΡΠ΅ ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ .NET
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Azure
ΠΠΎΠ»ΡΡΠΈΡΠ΅ 10 Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ² ASP.NET Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Microsoft Azure.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΊΡΡΠΏΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Linux ΠΈΠ»ΠΈ Windows ΠΈΠ»ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ Ρ ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ².
Π₯ΠΎΡΡΠΈΠ½Π³ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ Ρ Azure
ΠΠ»ΠΎΠ³ ScottGu β Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ HTML Π² ASP.NET 4 (ΠΈ ASP.NET MVC 2)
.NET ASP.NET ΠΠΎΠ²ΠΎΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΠΈΠ·ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ΄ΠΈΡ
[ ΠΠΎΠΌΠΈΠΌΠΎ Π²Π΅Π΄Π΅Π½ΠΈΡ Π±Π»ΠΎΠ³Π°, ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Twitter Π΄Π»Ρ Π±ΡΡΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ. ΠΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° ΠΌΠ΅Π½Ρ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: twitter.com/scottgu]
ΠΡΠΎ Π΄Π΅Π²ΡΡΠ½Π°Π΄ΡΠ°ΡΡΠΉ ΠΈΠ· ΡΠ΅ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² Π±Π»ΠΎΠ³Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π΄Π΅Π»Π°Ρ ΠΎ Π³ΡΡΠ΄ΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅ VS 2010 ΠΈ .NET 4.
Π‘Π΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ ΠΏΠΎΡΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ, Π½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² ASP.NET 4, β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ HTML-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°Ρ ΠΊΠΎΠ΄Π°. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π·Π°ΡΠΈΡΠΈΡΡ Π²Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΠΉΡΡ ΠΎΡ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΡ ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡΠΎΠ² (XSS) ΠΈ Π°ΡΠ°ΠΊ HTML-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠ³ΠΎ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ HTMLΠΡΠ°ΠΊΠΈ Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² (XSS) ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ HTML ΡΠ²Π»ΡΡΡΡΡ Π΄Π²ΡΠΌΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ°Π΄Π°ΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡΡ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π°ΠΊΠ΅ΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡ ΡΠΏΠΎΡΠΎΠ± Π²Π½Π΅Π΄ΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ HTML-ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Π² Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»ΡΠΌΠΈ ΡΠ°ΠΉΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ Π΄Π»Ρ Π²Π°Π½Π΄Π°Π»ΠΈΠ·ΠΌΠ° ΡΠ°ΠΉΡΠ°, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Ρ Π°ΠΊΠ΅ΡΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΡΠ°Π΄Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ cookie ΠΈ/ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΠΈΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ Π΄Π»Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠ»ΠΎΡ ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² β ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ HTML-ΠΊΠΎΠ΄, Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠ³ Π±ΡΡΡ Π²Π²Π΅Π΄Π΅Π½/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅Π³ΠΈ, ΠΊΠ°ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ