ΠΡΡΠΏΠΏΠ° ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΡ , ΠΈΠ·ΡΠ°ΠΈΠ»ΡΡΠΊΠΈΡ ΠΈ Π°Π²ΡΡΡΠ°Π»ΠΈΠΉΡΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° ΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² web-Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ Π°ΡΠ°ΠΊΠΈ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ°. ΠΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ Π±Π΅Π· JavaScript, Π° Π΄Π²Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π² ΠΎΠ±Ρ ΠΎΠ΄ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π² Tor browser ΠΈ DeterFox. ΠΠΎΠ΄ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π°ΡΠ°ΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π°ΡΠ°ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ Π½Π° GitHub.
ΠΠ»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΡΡΠ° Π²ΠΎ Π²ΡΠ΅Ρ Π°ΡΠ°ΠΊΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Prime+Probe, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΠΈΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΡΠ° ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½ΠΈΠΌ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. ΠΠ»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ, ΠΌΠ΅ΡΠ°ΡΡΠΈΡ ΡΠΎΡΠ½ΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π² Π΄Π²ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΠ΄ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΌΡ Π°ΡΠ°ΠΊΡΡΡΠ΅ΠΌΡ DNS- ΠΈΠ»ΠΈ WebSocket-ΡΠ΅ΡΠ²Π΅ΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Π΅Π΄ΡΡΡΡ Π»ΠΎΠ³ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π ΠΎΠ΄Π½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ DNS-ΠΎΡΠ²Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π»ΠΎΠ½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Ρ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡΠ½ΠΈΡ DNS- ΠΈΠ»ΠΈ WebSocket-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ 98% Π² ΡΠ°ΠΌΠΎΠΌ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ (Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ 80-90%). ΠΠ΅ΡΠΎΠ΄Ρ Π°ΡΠ°ΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ (Intel, AMD Ryzen, Apple M1, Samsung Exynos) ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅.

Π ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π°ΡΠ°ΠΊΠΈ «DNS Racing» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Prime+Probe, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ ΠΌΠ°ΡΡΠΈΠ²Ρ JavaScript. ΠΡΠ»ΠΈΡΠΈΡ ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π½Π° Π±Π°Π·Π΅ DNS ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° onerror, ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°. ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π°ΡΠ°ΠΊΡ Prime+Probe Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ , ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠΌΠ΅ΡΠ°ΠΌ JavaScript.
ΠΠ»Ρ DNS-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠ°Π·ΠΌΠ΅ΡΡΠ½Π½ΠΎΠ³ΠΎ Π² ΡΠΎΠΉ ΠΆΠ΅ Ethernet-ΡΠ΅ΡΠΈ, ΡΠΎΡΠ½ΠΎΡΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 2 ΠΌΡ, ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ (Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎΡΠ½ΠΎΡΡΡ ΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ JavaScript-ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² Tor Browser ΡΠ½ΠΈΠΆΠ΅Π½Π° Π΄ΠΎ 100 ΠΌΡ). ΠΠ»Ρ Π°ΡΠ°ΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° DNS-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄Π±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ²Π΅ΡΠ° ΠΎΡ DNS ΡΠ»ΡΠΆΠΈΠ»ΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ ΡΠ°Π½ΡΡΠ΅ ΠΈΠ΄ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π» ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ onerror Π΄Π΅Π»Π°Π΅ΡΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΎ ΡΠΊΠΎΡΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΊΡΡΠ΅ΠΌ).
ΠΡΠΎΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π°ΡΠ°ΠΊΠΈ «String and Sock» Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° ΠΎΠ±Ρ ΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°ΡΠΈΡΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² JavaScript. ΠΠΌΠ΅ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² «String and Sock» Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠΎΠΊΡΡΠ²Π°Π»Π° ΡΠΎΠ±ΠΎΠΉ Π²Π΅ΡΡ ΠΊΡΡ LLC (Last level cache). ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ indexOf() Π² ΡΡΡΠΎΠΊΠ΅ ΠΈΡΠ΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Ρ.Π΅. ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΡ Π²ΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ LLC-ΠΊΡΡΠ°, ΡΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΡΡΠ° Π±Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ Π²ΠΌΠ΅ΡΡΠΎ DNS Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΠ΄ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΌΡ Π°ΡΠ°ΠΊΡΡΡΠ΅ΠΌΡ WebSocket-ΡΠ΅ΡΠ²Π΅ΡΡ — ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΡΡΠΎΠΊΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΡΡΠ°.
Π’ΡΠ΅ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π°ΡΠ°ΠΊΠΈ «CSS PP0» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅ΡΠ΅Π· HTML ΠΈ CSS, ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ Ρ ΠΎΡΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ JavaScript. ΠΠ΅ΡΠΎΠ΄ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ «String and Sock», Π½ΠΎ Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ JavaScript. Π Ρ ΠΎΠ΄Π΅ Π°ΡΠ°ΠΊΠΈ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ CSS-ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ², ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΡ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΠΌΠ°ΡΠΊΠ΅. ΠΡΡ ΠΎΠ΄Π½Π°Ρ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°, Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΠΊΡΡ, Π·Π°Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π³Π° div Ρ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°. ΠΠ½ΡΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π°Π±ΠΎΡ Π΄ΡΡΠ³ΠΈΡ div-ΠΎΠ² ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ div-ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΡΠΈΠ»Ρ Ρ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠΌ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠ΅ΠΌ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ. ΠΡΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ Π²Π½Π°ΡΠ°Π»Π΅ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ div-Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π² Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΠΎΠΈΡΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΌΠ°ΡΠΊΠ΅ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΡ Π²ΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ «not» ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΏΡΡΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΡΠ»Π°ΡΡΠ΅Π³ΠΎΡΡ Π½Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ Π΄ΠΎΠΌΠ΅Π½Ρ: <style> #pp:not([class*=’xjtoxg’]) #s0 {background-image: url(«https://qdlvibmr.helldomain.oy.ne.ro»);} #pp:not([class*=’gzstxf’]) #s1 {background-image: url(«https://licfsdju.helldomain.oy.ne.ro»);} … </style> <div id=»pp» class=»ΡΡΡΠΎΠΊΠ°, ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΎΠΊΠΎΠ»ΠΎ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°»> <div id=»s0″>X</div> <div id=»s1″>X</div> … </div>
ΠΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π½Π° DNS-ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π°ΡΠ°ΠΊΡΡΡΠ΅Π³ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ° Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ DNS-ΡΠ΅ΡΠ²Π΅Ρ Π²ΡΠ΄Π°ΡΡ NXDOMAIN ΠΈ Π²Π΅Π΄ΡΡ Π»ΠΎΠ³ ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°Π±ΠΎΡΠ° div-ΠΎΠ² Π½Π° DNS-ΡΠ΅ΡΠ²Π΅Ρ Π°ΡΠ°ΠΊΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΏΠ°Π΅Ρ ΡΠ΅ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΊΠΎΡΡΠ΅Π»ΠΈΡΡΡΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΡΡΠ°.

ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru