Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ°ΠΉΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π°
ΠΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡ: ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ. ΠΠΎΠ΄ΡΠ»ΠΈ. Π‘Π»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΠΠΎΠ΄ΡΠ»ΠΈ
ΠΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ A/B ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ?
Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: ΠΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ A/B ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ?, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΠ² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ: 🚀
ΠΡΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡΡ 1Ρ Π±ΠΈΡΡΠΈΠΊΡ Π²Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΡΠ°ΠΌΠΈ?
Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΡΠ°ΠΌΠΈ?, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΠ² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ: 🚀
ΠΡΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡΡ 1Ρ Π±ΠΈΡΡΠΈΠΊΡ Π²Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ°ΠΉΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ php-ΠΊΠΎΠ΄Π° Π² Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ?
Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ°ΠΉΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ php-ΠΊΠΎΠ΄Π° Π² Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ?, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΠ² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ: 🚀
ΠΡΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡΡ 1Ρ Π±ΠΈΡΡΠΈΠΊΡ Π²Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ Π½ΡΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ PHP ΠΊΠΎΠ΄?
Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ Π½ΡΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ PHP ΠΊΠΎΠ΄?, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΠ² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ: 🚀
ΠΡΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡΡ 1Ρ Π±ΠΈΡΡΠΈΠΊΡ Π²Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
ΠΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠ°ΠΉΡ ΡΠ΅ΡΠ΅Π· Π»ΠΎΠ³ΠΈΠ½ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅
Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: ΠΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠ°ΠΉΡ ΡΠ΅ΡΠ΅Π· Π»ΠΎΠ³ΠΈΠ½ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΠ² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ: 🚀
ΠΡΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡΡ 1Ρ Π±ΠΈΡΡΠΈΠΊΡ Π²Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°ΠΉΡΠΎΠ² β ΡΡΠΎ
Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°ΠΉΡΠΎΠ² β ΡΡΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΠ² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ: 🚀
ΠΡΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡΡ 1Ρ Π±ΠΈΡΡΠΈΠΊΡ Π²Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°ΠΉΡΠΎΠ²:
Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°ΠΉΡΠΎΠ²:, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΠ² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ: 🚀
ΠΡΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡΡ 1Ρ Π±ΠΈΡΡΠΈΠΊΡ Π²Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π½Π° ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΡ ΡΠ°ΠΉΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ:
Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π½Π° ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΡ ΡΠ°ΠΉΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ:, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΠ² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ: 🚀
ΠΡΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡΡ 1Ρ Π±ΠΈΡΡΠΈΠΊΡ Π²Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΡ ΠΎΡΠΌΠ΅ΡΠ΅Π½ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ ΠΊΠ°ΠΊ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΉ, ΡΠΎ:
Π£Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΡ ΠΎΡΠΌΠ΅ΡΠ΅Π½ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ ΠΊΠ°ΠΊ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΉ, ΡΠΎ:, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΠ² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ: 🚀
ΠΡΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ΅ΡΡΡ 1Ρ Π±ΠΈΡΡΠΈΠΊΡ Π²Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ°ΠΉΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π°
ΠΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π»ΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΠΈΡΡΠΈΠΊΡ24. ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ²ΠΎΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π²Π½Π΅Π΄ΡΠΈΡΡ Π½Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π² ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΡΠΎ Π΄Π»Ρ Π²Π°Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΊΡΡΡ ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π»Π°.
ΠΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄Π²ΡΠΌ ΡΠΎΠ»ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ²: ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π»Π° ΠΈ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π Π°Π·Π½ΡΠ΅ ΡΠΎΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΡΠ»Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π»Π° Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Π° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΠ²ΡΠ΅Π³ΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΊΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠΎΠ»ΠΈ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΠ.
ΠΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΊΡΡΡΠ°, ΠΏΠΎ Π΅Π³ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΌΠ΅ΡΡ:
ΠΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Ρ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΡΡΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΊΡΡΡ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°.
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΊΡΡΡΠΎΠΌ Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Bitrix Framework, ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ ΡΠ°Π±ΠΎΡΡ Bitrix Framework.
ΠΠ°Π»Π»Ρ ΠΎΠΏΡΡΠ°

Π’Π΅ΡΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ
ΠΠΎΡΠ»Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΊΡΡΡΠ° Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ΄Π°ΡΠ΅ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΡΠ΅ΡΡΠΎΠ² Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠΎΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PDF.
ΠΠ»Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ ΠΎΡΡΠ»Π°ΠΉΠ½
ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠΉ ΠΊΡΡΡ Π±Π΅ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΠΎΡΡΠ»Π°ΠΉΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ, ΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 10 Π΄Π½Π΅ΠΉ (70 Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΡΠΎΠ²).
ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°

Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
ΠΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ²:
EpuBReader β Π΄Π»Ρ Firefox
Readium β Π΄Π»Ρ Google Chrome
Π ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ°ΠΉΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π°
ΠΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π»ΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΠΈΡΡΠΈΠΊΡ24. ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ²ΠΎΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π²Π½Π΅Π΄ΡΠΈΡΡ Π½Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π² ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΡΠΎ Π΄Π»Ρ Π²Π°Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΊΡΡΡ ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π»Π°.
ΠΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄Π²ΡΠΌ ΡΠΎΠ»ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ²: ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π»Π° ΠΈ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π Π°Π·Π½ΡΠ΅ ΡΠΎΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΡΠ»Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°Π»Π° Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Π° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΠ²ΡΠ΅Π³ΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΊΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠΎΠ»ΠΈ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΠ.
ΠΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΊΡΡΡΠ°, ΠΏΠΎ Π΅Π³ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΌΠ΅ΡΡ:
ΠΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Ρ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΡΡΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΊΡΡΡ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°.
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΊΡΡΡΠΎΠΌ Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Bitrix Framework, ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ ΡΠ°Π±ΠΎΡΡ Bitrix Framework.
ΠΠ°Π»Π»Ρ ΠΎΠΏΡΡΠ°

Π’Π΅ΡΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ
ΠΠΎΡΠ»Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΊΡΡΡΠ° Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ΄Π°ΡΠ΅ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΡΠ΅ΡΡΠΎΠ² Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠΎΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PDF.
ΠΠ»Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ ΠΎΡΡΠ»Π°ΠΉΠ½
ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠΉ ΠΊΡΡΡ Π±Π΅ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΠΎΡΡΠ»Π°ΠΉΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ, ΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 10 Π΄Π½Π΅ΠΉ (70 Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΡΠΎΠ²).
ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°

Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
ΠΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ²:
EpuBReader β Π΄Π»Ρ Firefox
Readium β Π΄Π»Ρ Google Chrome
ΠΡΠ»Π°Π΄ΠΊΠ° PHP 8 Ρ ΠΏΠΎΠΌΠΎΡΡΡ Xdebug 3 Π² PHPStorm
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ»Π½ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π΄Π΅Π±Π°Π³Π³Π΅ΡΠ° Π΄Π»Ρ PHP8 Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ PhpStorm. ΠΠ»Ρ PHP7 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ XDebug Π΄Π»Ρ PHP7.
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ, Π² Ρ ΠΎΠ΄Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΡΡΡΡΠ°Π½ΡΡΡ Π±Π°Π³ΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠ»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡ Π»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ°ΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΠ΅ΠΊΡΡΡΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ, ΡΠΎ Ρ ΡΠ΅ΡΠΈΠ» ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎΠΊ ΠΏΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ΄Π° Π½Π° PHP 8. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PHP-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Xdebug, Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π² ΡΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ Π½Π°ΠΌ IDE PHPStorm.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ PHP 8 Π² OpenServer
Π ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ Π΅Ρ, ΡΠ±ΡΠ°Π² ; Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΠ°ΡΠ΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΠΊΡΠΈΡ [xdebug]
ΠΠ΄Π΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ/ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» (CTRL + S) ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠ° ΡΡΠΎΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² PHPStorm
Π ΡΠ΅ΠΊΡΠΈΠΈ Xdebug Π·Π°Π΄Π°ΡΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
Π’Π΅ΠΏΠ΅ΡΡ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΌ ΡΠ³Π»Ρ PhpStorm Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Add configuration
Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΏΠ»ΡΡΠΈΠΊ ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ PHP Remote Debug.
Π ΠΏΠΎΠ»Π΅ Name ΠΏΠΈΡΠ΅ΠΌ XDebug.
Π‘ΡΠ°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡΠΊΡ Π½Π°ΠΏΡΠΎΡΠΈΠ² ΠΏΡΠ½ΠΊΡΠ° «Filter debug connection by IDE key». Π ΠΏΠΎΠ»Π΅ IDE key ΠΏΠΈΡΠ΅ΠΌ «PHPSTORM». ΠΠ°ΠΏΡΠΎΡΠΈΠ² ΠΏΡΠ½ΠΊΡΠ° Server Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΡΡΠΈ ΡΠΎΡΠΊΠΈ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠ»ΡΡΠΈΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»Ρ ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Π½ΠΈΠΆΠ΅:
ΠΠΌΡΠΌ ΠΠ ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ:
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠ½ΠΎΠ²Π° ΠΆΠΌΡΠΌ ΠΠ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Xdebug helper
ΠΠ°Π»Π΅Π΅ Π·Π°Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Google Chrome, Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ XDebug helper ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ.
Π ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ Google Chrome Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΈΠΊΠΎΠ½ΠΊΡ Ρ ΠΏΠ°Π·Π·Π»ΠΎΠΌ, ΠΆΠΌΠ΅ΠΌ Π½Π° Π½Π΅Π΅, ΠΈ Π½Π°ΠΏΡΠΎΡΠΈΠ² XDebug helper ΠΆΠΌΡΠΌ Π½Π° ΡΡΠΈ ΡΠΎΡΠΊΠΈ. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ «ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ».
Π ΡΠ΅ΠΊΡΠΈΠΈ IDE key Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ PhpStorm ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ! ΠΆΠΌΡΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Save.
ΠΠΌΡΠΌ Π½Π° ΠΏΠ°Π·Π·Π» Π΅ΡΡ ΡΠ°Π·, ΠΈ Π½Π°ΠΏΡΠΎΡΠΈΠ² ΠΏΡΠ½ΠΊΡΠ° Xdebug helper ΠΆΠΌΡΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Π΄Π»Ρ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ.
ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ
ΠΡΠ°ΠΊ, Π²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΈ Π΄Π΅Π»ΠΎ ΠΎΡΡΠ°Π»ΠΎΡΡ Π·Π° ΠΌΠ°Π»ΡΠΌ β Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ.
ΠΠ΅ΡΠ½ΡΠΌΡΡ ΡΠ½ΠΎΠ²Π° Π² IDE, Π² Π½Π°ΡΠ΅ΠΌ index.php Π·Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΡΠΎ Π±ΡΡΠΉΠΊΠΏΠΎΠΈΠ½Ρ (breakpoint), ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Π΅Ρ Π΅ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ β ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π°. Π Π½Π΅ΠΉ ΠΌΡ Π²Π΅ΡΠ½ΡΠΌΡΡ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
Π ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ PhpStorm Π½Π°ΠΏΡΠΎΡΠΈΠ² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ XDebug Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Π·Π½Π°ΡΠΎΠΊ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΆΡΡΠΊΠ°. ΠΠ° Π½ΡΠΌ Π·Π°Π³ΠΎΡΠΈΡΡΡ ΡΠΎΡΠΊΠ°. ΠΠ½ΠΈΠ·Ρ IDE ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ°ΠΆΠΌΠ΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Console ΠΈ ΡΠ±Π΅ΡΠ΅ΠΌ Π³Π°Π»ΠΎΡΠΊΡ «Focus on startup».
Π ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Debugger.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Ρ Π½Π°ΡΠΈΠΌ ΠΎΡΠΊΡΡΡΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΆΠΌΡΠΌ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° Xdebug helper (ΠΆΡΡΠΎΠΊ), Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ Debug.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠΎΠΊ ΡΡΠ°Π½Π΅Ρ Π·Π΅Π»ΡΠ½ΡΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π² Chrome ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΠ²ΠΈΡΠ»Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
Π Π² ΠΎΠΊΠ½Π΅ PHPStorm ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»Π° ΡΠ²ΠΎΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΌΠ΅ΡΡΠ΅ Π±ΡΡΠΉΠΊΠΏΠΎΠΈΠ½ΡΠ°.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΆΠΌΡΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ βF8β. ΠΠ½Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π΅ΡΡΡ, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°ΠΆΠΌΡΠΌ F9. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π±ΡΡΠΉΠΊΠΏΠΎΠΈΠ½ΡΠ° (Π΄Π°, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ). ΠΡΠ»ΠΈ ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ (ΠΊΠ°ΠΊ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅), ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡΡΠΎ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΈΠ³ΡΠ°Π΅ΠΌΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΠΎΡΠ»ΠΎΠΆΠ½Π΅Π΅:
Π ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π΄Π²Π° Π±ΡΡΠΉΠΊΠΏΠΎΠΈΠ½ΡΠ° Π½Π° ΡΡΡΠΎΠΊΠ°Ρ
5 ΠΈ 10.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ Π½Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΠΊΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠΏΠ°Π΄ΡΠΌ Π² ΠΏΠ΅ΡΠ²ΡΠΉ Π±ΡΡΠΉΠΊΠΏΠΎΠΈΠ½Ρ Π½Π° ΡΡΡΠΎΠΊΠ΅ 10:
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ Π΅ΡΡΡ ΠΎΠΊΠΎΡΠ΅ΡΠΊΠΎ βFramesβ, ΡΡΠΎ ΡΠ°ΠΊ Π½Π°Π·Π²Π°Π΅ΠΌΡΠΉ βΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ²β. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠ°, ΠΎΡΠΊΡΠ΄Π° Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ Π½Π°Ρ ΠΊΠΎΠ΄ ΡΠ°Π½Π΅Π΅. Π’Π°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π² ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ getSum().
Π ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (ΡΡΠΎΠ²Π½Π΅ΠΌ Π²ΡΡΠ΅).
ΠΡΠ»ΠΈΡΠ½ΠΎ, ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΈ Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΊ Π±ΠΎΡ β F7. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΉΡΠΈ βΠ²Π½ΡΡΡΡβ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ F9. ΠΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π±ΡΡΠΉΠΊΠΏΠΎΠΈΠ½Ρ Π½Π° ΡΡΡΠΎΠΊΠ΅ Π½ΠΎΠΌΠ΅Ρ 15 ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΠΊΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΡΠ»ΠΈ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°ΠΆΠ°ΡΡ F8, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΊΠΎΠ½ΡΠΈΡ ΡΠ²ΠΎΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈ ΠΌΡ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄ΡΠΌ Π²Π½ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π’Π°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠΎΠ²Π½ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ, ΠΈ Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π²Π½ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΆΠ°ΡΡ F7, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅ 15. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΎΠΊΠ°ΠΆΠ΅ΠΌΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅ 10. ΠΡΠ»ΠΈ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°ΠΆΠ°ΡΡ F8, ΠΏΠΎΠΏΠ°Π΄ΡΠΌ Π½Π° ΡΡΡΠΎΠΊΡ 11. ΠΡΡ ΡΠ°Π· β Π½Π° ΡΡΡΠΎΠΊΡ 12. ΠΡΠ»ΠΈ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π½Π° 12 ΡΡΡΠΎΠΊΠ΅ Π½Π°ΠΆΠΌΠ΅ΠΌ F7, ΡΠΎ ΠΏΠΎΠΏΠ°Π΄ΡΠΌ Π²Π½ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ getSum() Π½Π° ΡΡΡΠΎΠΊΡ 5. Π Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ Π½Π°ΠΆΠ°Π»ΠΈ F8, ΡΠΎ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄Π½ΡΠ»ΠΈΡΡ Π±Ρ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅, Π² ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ getSumOfCos().
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ (Π»ΠΈΡΠ½ΠΎ ΠΌΠ½Π΅ ΡΡΠΎΠ³ΠΎ Ρ Π²Π°ΡΠ°Π΅Ρ).
ΠΡ Π° ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΈΡΠ»Π° ΠΏΠΎΡΠ° ΠΏΠΎΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠ»Ρ ΡΠΆ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΡΠ»ΠΎΠΉ Π΄ΠΎΠΌΠ°ΡΠΊΠΎΠΉ β Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΡ ΡΠ΅ΡΠ°ΡΡ =)
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΈ ΠΏΠΎΠΊΠΎΠ²ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π΄ΠΎΠΌΠ°ΡΠΊΠΈ:
ΠΠΎΡΡΠ°Π²ΠΈΠΌ Π±ΡΡΠΉΠΊΠΏΠΎΠΈΠ½Ρ Π½Π° 3 ΡΡΡΠΎΠΊΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΌΡΠΌ F8 ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° ΡΡΡΠΎΠΊΡ 5. Π‘Π΅ΠΉΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΌΡ ΠΏΠΎΠΏΠ°Π΄ΡΠΌ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅, Π² ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΎΠ½Π° Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π°. ΠΡΠ°ΠΊ, ΠΆΠΌΡΠΌ F8.
Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ PHP-ΠΊΠΎΠ΄Π°: ΠΏΡΠΈΠ΅ΠΌΡ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΈ ΠΏΡΠ°Π²ΠΈΠ» WAF
Π ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² PHP, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡ ΡΠΈΠ»ΡΡΡΡ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π² WAF.
ΠΠ²ΡΠΎΡ: Andrea Menin
Π ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² PHP, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡ ΡΠΈΠ»ΡΡΡΡ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π² WAF.
ΠΠ±ΡΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈ, Π²ΡΠ΅Π³Π΄Π° ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΏΡΠΎΡΠΈΡ Β«Π° ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΠΈΡΡΡ Π»ΡΠ΄ΠΈ?Β». Π‘ΡΠ°Π·Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅Π½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌ. ΠΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ Π²Ρ ΡΠΏΡΠΎΡΠΈΡΠ΅ ΠΌΠ΅Π½Ρ ΡΠ½ΠΎΠ²Π°, ΠΎΡΠ²Π΅ΡΡ Π·Π°Π³ΠΎΠ΄Ρ: ΠΠ ΠΈ ΠΠ.
ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠ·Π²ΠΈΠΌΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Ρ . Π‘ΠΊΡΠΈΠΏΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ Ρ Ρ ΠΎΡΡ Π»ΠΈΡΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅Π»ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ).
Π ΠΈΡΡΠ½ΠΎΠΊ 1: ΠΠ΅ΡΠ²ΡΠΉ PHP-ΡΠΊΡΠΈΠΏΡ
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° /etc/passwd
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ» /etc/passwd ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ system() Π²Π½ΡΡΡΠΈ Π·Π°ΠΏΡΠΎΡΠ° /cfwaf.php?code=system(βcat /etc/passwdβ);
Π ΠΈΡΡΠ½ΠΎΠΊ 2: CloudFlare Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π» ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠΏΡΡΠΊΡ
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΡΡΠ΅, CloudFlare Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π» ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°ΠΌ Π±ΡΠ»Π° ΡΡΡΠΎΠΊΠ° Β«/etc/passwdΒ»), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°ΠΌΠ΅Π½Ρ Π½Π° cat /etc$u/passwd.
Π ΠΈΡΡΠ½ΠΎΠΊ 3: CloudFlare ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΈΠ»ΡΡΡΠΎΠΌ Π²Π½ΡΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ CloudFlare, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠΈΠ»ΡΡΡΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ system. Π‘ΡΠ°Π·Ρ ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ system Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Β«systemΒ». ΠΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ PHP.
Escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² PHP
\[0β7] <1,3>β ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ ΡΠΈΡ ΠΎΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² Π±Π°ΠΉΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«\400Β» === Β«\000Β»).
\x[0β9A-Fa-f] <1,2>β ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«\x41Β»).
\u <[0β9A-Fa-f]+>β ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ Unicode, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ ΡΠΎΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ UTF-8 (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² PHP 7.0.0).
ΠΠ°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Π² PHP Π΅ΡΡΡ ΠΌΠ°ΡΡΠ° ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ, Π° Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΈ ΠΏΡΠ°Π²ΠΈΠ».
Π€ΡΠ½ΠΊΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π PHP ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΊΠΎΠ±ΠΊΠΈ, PHP ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠΎΠΌΠΈΠΌΠΎ Π΄ΡΡΠ³ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠ°Π±Π»ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 4: ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ PHP ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ Π²Π½Π°ΡΠ°Π»Π΅ Π² ΡΡΡΠΎΠΊΡ Β«systemΒ», Π° Π·Π°ΡΠ΅ΠΌ Π² ΡΡΠ½ΠΊΡΠΈΡ system Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ Β«lsΒ». ΠΡΠΎΠ±ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
Π ΠΈΡΡΠ½ΠΎΠΊ 5: ΠΡΠΎΠ²Π΅ΡΠΊΡ Π²Π½ΡΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠ° ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ°: echo, print, unset(), isset(), empty(), include, require ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΠ±Π΅ΡΡΠΊΠ°.
Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ»ΡΡΡΠ° Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π΄ΠΎΠ±Π°Π²Π»Ρ Π² ΡΠΈΠ»ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ? Π‘ΠΌΠΎΠ³Ρ Π»ΠΈ Ρ ΠΎΠ±ΠΎΠΉΡΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ»ΡΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠ°Π²ΡΡΠ΅ΠΊ? ΠΡΠΎΠ±ΡΠ΅ΠΌ:
Π ΠΈΡΡΠ½ΠΎΠΊ 6: ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ
Π ΠΈΡΡΠ½ΠΎΠΊ 7: ΠΠΎΠ»Π΅Π·Π½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° Ρ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ ΡΡΠ°Π»Π° ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ ΠΏΠΎΠ΄ ΡΠΈΠ»ΡΡΡ
Π ΠΈΡΡΠ½ΠΎΠΊ 8: Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ
Π ΠΈΡΡΠ½ΠΎΠΊ 9: ΠΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ»ΡΡΡΠ°
ΠΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ (sy.(st).em)(whoami);
Π ΠΈΡΡΠ½ΠΎΠΊ 10: ΠΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΠ»Π° ΡΠ΅ΡΠ΅Π· WAF ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅
Π ΠΈΡΡΠ½ΠΎΠΊ 11: ΠΡΠΎΡΠ°Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΠ»Π° ΡΠ΅ΡΠ΅Π· WAF ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅
ΠΡ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²Π½ΡΡΡΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π΅ ΠΏΡΠ°Π²ΠΈΠ» Π² WAF, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΡΠ΅ Π½ΠΈΠΆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Ρ:
Π ΠΈΡΡΠ½ΠΎΠΊ 12: ΠΠ°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²
Π ΠΈΡΡΠ½ΠΎΠΊ 13: ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ system Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ Ρ ΠΏΠΎΠΈΡΡ ΡΡΠ΅Π΄ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎ ΡΠ»ΠΎΠ²Ρ Β«systemΒ», ΡΠΎ ΡΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π³Π΄Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 14: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΠΏΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π΅ ΠΏΡΠ°Π²ΠΈΠ» Π² WAF ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅:
Π ΠΈΡΡΠ½ΠΎΠΊ 15: ΠΠ±Ρ ΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ get_defined_functions
Π ΠΈΡΡΠ½ΠΎΠΊ 16: Π‘Π±ΠΎΡΠΊΠ° ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ΡΡ ΠΎΡΠΎΠ±ΠΎ ΡΠ΄Π°ΡΠ»ΠΈΠ²Ρ, ΡΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²Π½ΡΡΡΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° ΡΠΊΡΠΈΠΏΡΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠ°ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ (__FILE__)[2] :
Π ΠΈΡΡΠ½ΠΎΠΊ 17: Π‘Π±ΠΎΡΠΊΠ° ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°
Π ΠΈΡΡΠ½ΠΎΠΊ 18: Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ OWASP CRS3












































