ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ Python-ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ ctx ΠΈ PHP-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ phpass, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»Π° Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ°ΡΡΡΡΠΎΠΌ Π½Π° ΠΊΡΠ°ΠΆΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² ΠΊ AWS ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ. ΠΠΎ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ Python-ΠΏΠ°ΠΊΠ΅Ρ ‘ctx’ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ PyPI ΠΎΠΊΠΎΠ»ΠΎ 22 ΡΡΡΡΡ ΡΠ°Π· Π² Π½Π΅Π΄Π΅Π»Ρ. PHP-ΠΏΠ°ΠΊΠ΅Ρ phpass ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Composer ΠΈ Π·Π° Π²ΡΡ Π²ΡΠ΅ΠΌΡ Π±ΡΠ» Π·Π°Π³ΡΡΠΆΠ΅Π½ Π±ΠΎΠ»Π΅Π΅ 2.5 ΠΌΠ»Π½ ΡΠ°Π·.
Π ctx Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ» ΡΠ°Π·ΠΌΠ΅ΡΡΠ½ 15 ΠΌΠ°Ρ Π² Π²ΡΠΏΡΡΠΊΠ΅ 0.2.2, 26 ΠΌΠ°Ρ Π² Π²ΡΠΏΡΡΠΊΠ΅ 0.2.6, Π° ΡΠ°ΠΊΠΆΠ΅ 21 ΠΌΠ°Ρ Π±ΡΠ» ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΠ½ ΡΡΠ°ΡΡΠΉ ΡΠ΅Π»ΠΈΠ· 0.1.2, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² 2014 Π³ΠΎΠ΄Ρ. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏ Π±ΡΠ» ΠΏΠΎΠ»ΡΡΠ΅Π½ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ PHP-ΠΏΠ°ΠΊΠ΅ΡΠ° phpass, ΡΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ» ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ hautelook/phpass (Π²Π»Π°Π΄Π΅Π»Π΅Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ΄Π°Π»ΠΈΠ» ΡΠ²ΠΎΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ hautelook, ΡΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π» Π½ΠΎΠ²ΡΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ» ΠΏΠΎΠ΄ Π½Π΅ΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ phpass Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ). ΠΡΡΡ Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π΅ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ AWS_ACCESS_KEY ΠΈ AWS_SECRET_KEY.
ΠΠΎΠΏΡΡΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Composer Π±ΡΠ»Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π° ΠΈ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ hautelook/phpass Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ bordoni/phpass, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠΈΠΉ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ctx ΠΈ phpass ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΠ²Π΅Ρ «anti-theft-web.herokuapp[.]com», ΡΡΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π°ΡΠ°ΠΊΠΈ ΠΏΠΎ Π·Π°Ρ
Π²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π±ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Ρ ΠΎΠ΄Π½ΠΈΠΌ Π»ΠΈΡΠΎΠΌ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru