ืื ื ืืืฉืืืื ืืกืคืจ ืืื ืืืฆื ืกืืืจ ืืกืข ืืืืืืจ ืฉืื ื ืขื ืืฉืืืช ืืฉืจืช. ืืชืื ืืงืืื
ืืกื ืืื, ืืงืฆื ืืืืืจื ืฉื ืืืฉืืง ืืื 6 ืืืืืืช ืืจืืืืงืืื ืืืช, ืืืชื ื ื ืชื ืืืืืจ ืื:
- ืืืืจื ืฉื ืืฉืืืืช ืืฉืืง ืฉืืื ืืืจืืืืช ืขื ืื ืื ืื ื ืืืฉืืง
- ืืืืืืืก ืืืืืคื ื ืชืื ืื ืืืืจื ืืืชืจ ื-VPS
- ืืชืจืื ืืืงืฉืืช ืงืฆื (ืจืืืื ืืฉืืง) ืืืจืืืืื ื ืืืืืจื ืืืชืจ
- ืืจืืืืื ื, ืฉืืื ืืืจืื ืขื ืืฉืืืื ืืืืกืจืื, ืงืืื ืคืงืืืืช ืืืืชืจืื ืืขืฉื ืืช ืืขืืืื ืืคืืขื
- ืืืฉืืจืื ืืคืืขื: ืืืืืจืจ, ืืจืื, ืื ืืจืืช ืจืฆืคื ืืื'.
- Frontend - ืืชืจ Falcon ืขืฆืื, ืืื ื ืฉืืื ืืฉืืงื ืื ืืืืฉืืจืื
ืืืื ื ืขืืืจ ืขื ืื ืืื ืืื.
ืืืืจื ืฉื ืืฉืืืืช ืืฉืืง
ืืงืฆื ืืืืืจื ืืืฉื ืืืืฉืื ืืชืืื ืงืคืืฆื: ืืื ืื ืืื ืืงืจื ืื ืืื, ื ืงืืืช ืงืฆื ืฉื Websocket ืืฉืืจืืชืื ืขื ืืืืืื ืืฉืืง.
ืืื ืจืง ืฉืืืฉื ืืงืจืื:
- ืืืืืจืื. ืขืืื Megatron ืื ืืืื ื ืฉืื ืืจื ืืงืฉืืช GET: ืืคื ื ืืืืจื ืืคืขืืช ืืืฉืื. ืืืืืืจ ื ืืจื ืืจื ืืงืฉืช ื-POST.
- ืืืคืื ืืคื ืืืืื ืื ืฉืืืืฉื ืืคื ืฉื ืืขืืื. Tilde ืืืืฆืจืช ืืคืื ืืืืฆืื ืื ืขื ืฉืืืช ืืงืืจืืื, ืืื ืขื ืืืืื ืคื ืืื ืืืืืข ืชืืืืืช.
- ืืงืจ Captcha ืืฉืจืช Captcha ืฉื ืฉืจืช ืคืกืืืื ืืขืืืก ืืืื.
ื ืงืืืช ืืงืฆื ืฉื Websocket ืฉืืืฉื ืืฉืืืื ืืืืื'ืืื: ืื ืืจืืช, ืืจ ืืืืชืืืช. ืืื ื ืืืจ ืืืฆืื ืืืืคื ืกืื ืืจืื ื ืืื ืืฉืืงื ืื ืืช ืืืฆื ืื ืืืื ืฉื ืืืืฉืืจ: ืืื ืืื ืืืืง ืื ืืืื, ืคืขืื ืื ืื, ืืืื ืฆืืข ืฉื ืืืืช ืืืืจ ืืจืืข ืขื ืืงืืจ. ืขื ืื ืช ืืืงืฉืืช ืืขื ืขื ืืฉืืืช ืืคืขืืช ืืืืืืจ, ืืืกืคื ื ืืจืฉืื ืืืจ ืืืืืืืจ ืขื ืืืชื ืื ืืกื ืืกืืกืื admin/admin.
ืฉืืงื ืื ืืืื ืืืืืง ืืืช ืขื ืืื ืืคืขืืช ืืืจ ืืืืืืจ ืขื ืืืชื ืืืืจ ืขื ืืืืืืจ.
ืืืจื ื ืฆืื ืื ืืกื-ืกืืกืื ืืจืืืืืืื ืืื ืืื ืื ืืืืกืจ ืฉืืงื ืื ืืืืืจื ืืืืชืจืช.
ืืื ืืืคืื ืืช ืืืฉืืื ืืืขื ืืื ืช ืืืชืจ, ืืืื ืืืืืืงืืื ื-mongodb ืฉืืืฉื ืืืืื ืืืฉืืจืื ืืืืจ.
ObjectId ืืืื ืืืชืืช ืืื: ืฉื ื ืขืจืืื ืืงืจืืืื, ืืื ืืื ื ืืงื ืขื ืกืื ืืืื ืืืืฉืืจ, ืืืฉื ื ืืืืกืก ืขื ื-Pid ืฉื ืืชืืืื ืฉืืืฆืจ ืืืชื ืืขืจื ืืืื ื. ืจืฆืืชื ืืขืฉืืช ืืช ืืืืืื ืฉื ืืฆืจืื ืืืจืืืื ืืื ืงืืืขืื ืืขื ืชืืืืื ืคืื ืฉืื ืื, ืืื ืขื ืืื ื ืืฉืืชืฃ, ืืื ืฉืืืืืจื ืืืืื ืืืฉืืจ ืืืืืจ ืชืืื ืืขื ืืื ืช ืืืชืจ. ืขื ืืืช, ืืกืืคื ืฉื ืืืจ, ืืืื ืืชืืืื ืขื ืืืืื ืฉื ืืืื ืจืง ืืขืจื ืืืื ื. ืืืชืื ืฉืื ืืคื ืืช ืืฉืื ืืคืฉืื ืืื ืืืื ื ืืฆืจืื ื ืืชืื ืฉื ืืื ื objectId.
ืืชืจืื ืืืงืฉืืช ืงืฆื
ืืกืงืจืืคื ืืชืืืจ ืืชืืจ RabbitMQ ืืืขืืืจ ืืงืฉืืช ืืืชืืจ ืืืจืืืืื ื. ืืื ืื ืืืฉื ืืช ืืืืืืื ืฉื ืืืชืื ืืืจ ืืงืืื: ืืื ืขื ืืืฉืืจืื ืืกืืืืื, ืืืืจ ืขืืืื ืืืืืง, ืืืฉื, ืืืฉืจ ืืืื ืกืืคืง ืืจืืฉืื ื ืืืืืืจืื, ืืื ืืืืจ ืืืืจ ืืื. ืขืืฆืื ืชืืืจื ืืฆืืืื ืฉื ืืกืฆื ื ืืืื ืืื ืกืืคืืจ ื ืคืจื ืขื ืืขืืืื ืื ืืืจืช ืฉื ืืคืืง ืืคืจืืืงื ืืืขืฆื ืืืคืงื ืืฉืืชืฃ ืฉืื ื ืืืืื ืกืจืื, ืืขื ืื ื ืกืคืจ ืืคืืกื ื ืคืจื.
ืืืชืจืื ืืื ืืืจืื ืื ืขื ืืืืืืื ืฉื ืืคืขืืช ืืืืจืกื ืืืืฆืขืืช ืืืืืจ ืืืขืืจืช ืืชืืื ื ืืืืืืืืื: ืืืืืืจ ืืืคืขืืช ืืืืจืกื, ืงืคืืืจื ืฆืืจืืช, ืคืจืกืืืช ืืกืืฃ ืืืฉืืง.
ืืืฆื ื ืื ื ืืืืืืื ืืืคืงืช ืืกืืืื Megatron
ืืจืืงืช ืืืื
ืื 25 ืฉื ืืืช ื ืืฆืจ ืืกืืืื ืืืฉ ืื ืืชื ืืืฉืชืืฉ ืื ืืื ืืืคืขืื ืืช ืืืืืืจ ืืืฉื 10 ืฉื ืืืช ืืขืืฆืื ืฉื 10/255. ืงืืฉืืจ ื
ืืืืจ ืืื ืืืืืืจ ืืชืงืจืจ ืืืฉื ืืงื ืืืช - ืืืืื ืืืื ืืื ืืื ืื ืืื ืืืื ืืื ืงืืื ืืงืฉืืช ืฆืืืื ืืืฉืืช.
ืืืื ืืื ืื ืืกืคืืง ืืื ืืืืฉืจืฃ ืืจื ืืืื, ืืื ืื ืฉืืงื ืืืื ืืื ืืืจืืช ืืืืจืื ืืืจืืืช ืืช ืงืจื ืืืืืืจ ืืคืขืืื.
ืืืืืจืืชื ืืืืืื MD5 ืฉืืืฉ ืืืฆืืจืช ืืืกืืืื. ืืืชืืื ืืช ืืกืชืืจื MD5 ื-MD5 + ืืื ื + ืกืื ืขืืืจ ืืกืืืื ืงืจื ืืืื ืกืื ืขืืืจ ืืกืืืื ืืืื.
MD5 ืืื ืืชืืืืกืืช ืืคืจืืืงื ืืกืืจื ืฉืขืฉื ืคืืื, ืืืื ืืืืืจื ืฉืื ื. ืจืง ืืคื ื ืืื ืฉื ืื ืืคืจืืืงื ืืื ืืฉืชืืฉ ื-MD5, ืืืืฉืจ ืืื ืืืจ ืืืืจืืื ืืคืจืืืงื ืฉืื ืืืืืจืืชื ืืฆืคื ื ืืืืฉื, ืื ืืชืืืื ืืืฉืชืืฉ ื-MD5 ื-MD5. ืืืืืื ืฉืืืืื ื ืืขืฉืืช ืืช ืืคืจืืืงื ืืื ื ืื ืฉืืคืฉืจ, ืืื ืืืจ ืืื ืืืืืื ืืขืฉืืช ืืคื ืื ืงืื ื.
ืืจืืื ืงืจืืืช
ืืฆื ืืืืืื ืฉื Megatron ืืื 100% ืืื ืืืืืจ ื-3 ืืืื. ืื ืืกืคืืง ื-2 ืืงืืช ืืื ืืฉืจืืฃ ืืช ืืืื ืฉืืืืืง ืืช ืืืฉืงื, ืืฉืืืจ ืืช ืืืงืืืจืืื ืืืืฆืืฃ ืืช ืืฉืจืช ืืืื.
ืืฉืืจื ื ืืื ืจืืืื ืขื Github ืฉื ืืคืจืืืงื: ืืืืืจ, ืงืื ืืฆืืจืช ืืืกืืืื, ืฉืืื ื ืืคืฉืจ ืืืืื ืฉืืกืืืื ื ืืืืืงื ืืืืืืื ื ืืฆืจืื ืขื ืกืื ืืืชื ืืืืื ืืื ื. ืืืงืจื ืฉื ืืกืืืื ืงืจื, ืื ืืกืฃ ืืขืจื ืื ืื, ื ืขืฉื ืฉืืืืฉ ืื ืืืื, ืฉื ืืชืจ ืืืขื ืืืืืืื ืืืืกืืืจืื ืฉื ืฉืื ืื ืืชืืฆืืช ืืื, ืืืขื ืฉืชื ืืืืืืืช ืืืืจืื ืืช.
ืืืืจืช ืื ืชืื ืื ืืืื, ื ืืชื ืืื ืืืืื ืืช 2 ืืกืืืื ืืืืจืื ืื ืฉื ืืืื ืืืืขืฉื ืืืืืช ืฉืืืกืคืจืื ื-Lost, ืฉืืืืจื ืืืขืจืืช ืืงืกืืฆืืืืืช, ืฉืืืฉื ืขืืืจื.
ืืืืจ ืืื ืืฉืืงื ืื ืืื ืฆืจืืืื ืืชืคืืก ืืช ืขืจื ืืืื ื (ืขื ืืื ื ืืชืื ืืกืืืื ืืืืืงื) ืืืืืฆืจ ืืกืืืื ืืืืื ืืืืฆืขืืช ืขืจื ืืืื ื ืืื ืืืืื ืฉื ืืืจ ืืฉืื ืืงืืื.
ืืืื ื ืคืฉืื ืืื ืขื ืื ืืจืืงืช ืืืืงื ืืื 25 ืฉื ืืืช. ืื ืืชืื ื ืขื ืื ืืฉืื ืืงืื, ืื ืืืืชื ืืืืจื ืืืืืช ืืคืชืขืช ืืฉืืง ืงืื ื.
ืฉืืจืืช ืืื ืืจืืงืฆืื Captcha
ืืขืืื ืืืฉืืงืื, ืื ืืื ืืืชื ืงืคืืฆ'ื ืฉืืื ืฆืจืื ืืืขืื ืืื ืืืคืขืื ืืช ืืืืืืจืจ ืืืคืชืื ืืช ืืคืืืคืฆ'ืจ ืืจืื. ืืื ืืืฆืืื ืขืื ืืืฉื ื ืืื ืขื ื ืืืืจ ืขืืืก.
ืื ื-5 ืืฉื ืืืช ืืืืจืื ืืช ืืชืงืืื ืืืชืจ ื-50 ืืงืฉืืช ืืืฆืื ืืช ื-captcha, ืื ืืขืืืก ืืื ืืืกืคืจ ืงืืืข + ืืงืจืื ืฉื ืฆืขืืื. ืืืืฉืื ืืื ืฉื ืืชื ืืืฉืื ืขืืืก ืฉื 100% ืชืื ืฉืชื ืืงืืช.
ืืืขืฉื, ืืื ืืืชืจ ืืืืืื ืืฉืืจืืช ืืื ืฉืืืฆื ืืืฉืืง ืืืืจืื: ืืืงืื ื ืืช ืืฆื ืืฆืืจื ืืื ืฉืจืง ืืกืืืื ืฉื ืืืืืจืจ ืืืขืื ื ืจืื ืืขืื.
ืืชืืืืช ืืืกืข ืื ืจืฆื ืืืฉืืืจ ืืช ืืจืคื ื ืืืฉ ืืืชืจ ืคืืงืื. ืืื ืืื ืืืื ืื ืืืื Springboot ืืืื ืืืืฉืื ืืืืืจื, ืฉืื ืืกืคืงื ื ืื ืงืืช, ืื ืืืืื ื ืืืกืื ืืช ืืืืฉื ืืืื. ืืืฆืืง - ืขืื ืืชืืืืช ืืฉืืืคื, ืืืง ืืืฉืืงื ืื ื ืืืฉื ืฉืืืคืืืงืฆืื ื ืืชืื ืืืกืืจืช springboot ืืืฃ ืืคืจื ืฉืืืช ืฉื ืืื ืฉืืจืืชืื.
ืืคืืง ืืืจืื ืื ืชืื ืื
ืืื ืืืขืืจืช ืืืืข ืื-backend ืืืชืจ, ืฉืจืช ื-VPS ืขืืื ืคืขื RabbitMQ.
ืืงืฆื ืืืืืจื ืืืคืืง ืื ืชืื ืื ื ืฉืืจื ืคืขืืืื
ืืื ืืืื ืขื ืืฉืจืช ืืคื ื DDoSa, ืืฉืชืืฉื ื ื-Cloudflare.
ืจืืื ืืืืจ ืฉื-VPS ืขืื ืืื ืืืืื.
ืืจืืืืื ื, ืฉืืื ืืืจืื ืขื ืืฉืืืื ืืืืกืจืื, ืงืืื ืคืงืืืืช ืืืืชืจืื ืืขืฉื ืืช ืืขืืืื ืืคืืขื
ืื ืืืชืจ ืื ืืฉื ืฉื ืืืืืจ ืืื ืขื ืืืง ืืืืืจื ืฉื ืืคืจืืืงื: ื-backend ืคืฉืื ืฉืื ืืงืฉืืช ืืืคืขืื ืืืกืจ ืืกืืื. ืื ืงืจื ืฉื-backend ืืืืจ ืืืขื ืืช ืื ืืืฉืืืืช ืืืืงืฉืืช ืืื ื ื ืจืื ืืื "ืืคืขื ืืช ืืืฉืืช ืืื". ืขืฉืื ื ืืช ืื ืืืืืงื ืืืงืืืช ืฉื ืืืชืจ (ืขืืืื ืื ืืจืืื ื ืืช ืื ืืืจืืืืื ื ืืืืืกืจืื), ืืกืืฃ ืืฉืืจื ื ืืื ืืื.
ืืืืชื
ืืฆืจื ื ืืช ืืืชืจ ืืืืืจืืช ื-tilde, ืื ืืงื ืืื ืขืืืื ืืื ืืืกื ืื ื 30 ืืืฃ ืืืชืงืฆืื ืฉืื ื.
ืืชืืืื, ืืฉืื ื ืคืฉืื ืืืืฆื ืืช ืืืชืจ ืืืืืกืืฃ ืืช ืืืืืืื ืฉืืกืจ ืื ื, ืื ื ืชืงืื ื ืืชื ืื ืฉืืืืฉ ืฉืืกืจื ืขืืื ื ืืขืฉืืช ืืืช.
ืื ืืืื ื ืืืื ืื ืืืคืจ ืืช ืืจืืฉืืื, ืื ืืื ืฉืชื ืืคืฉืจืืืืช: ืืืืฉื ืืื ืืขืฆืื ื ืื ืืคื ืืช ืืฉืืจืืช ืืืืืื, ืืืืจ ืขื ืืคืจืืืงื ืืืืงืฉ ืจืฉืืช ืืฉื ืืช ืืช ืืงืื.
ืืืจื ื ืืืคืฉืจืืช ืืฉื ืืื ืืื ืื ืจืง ืคืืฉื ืืืชื ื ืืืืฆืข ืืืจื, ืืื ืืคืืื ื ืชื ื ืื ื ืฉื ื ืฉื ืืฉืืื ืขืกืงื ืืืื ื, ืืขื ืื ืื ื ืืืืื ืืื ืืืื. ืื ืืื ืืืื ืืืื ืืืจืืืช ืืื ืืช ืขืืฆืื ืืืชืจ ืฉื ืกืืงืื.
ืืชืืฆืื ืืื, ืฆืืจืคื ื ืืช ืืืืืงื js ื-frontend ืืฉืืืืช ืืงืฉืืช ืืืืฉืืจืื ืืกืืืืื, ืืฉืื ืื ื ืืขื ืืช ืกืื ืื ืืช ืืืคืชืืจืื ืืืคืขืื ืืืืืื ืฉื ืจืืืื ืืฉืืง.
ืขืืฆืื ืืชืจ
ืืืืกืืืจืื ืฉื ืืืืคืืฉืื, ืฉืฉืืื ืคืจืง ื ืคืจื.
ืจืฆืื ื ืืืฆืืจ ืื ืจืง ืืชืจ ืืืืฉื, ืืื ืืชืจ ืืืขืื ืืืืืืื ืฉืืคืจ ืืช ืื ืืืื ืืขืืฆืื ืืืกืืกืืื. ืืื ืขื ืืืช, ืืื ืืฉืื ืืฉืืืจ ืขื ืืืื ืืช: ืื ืื ืฆืจืื ืืฉืืืจ ืืช ืกืืคืืจ ืืฃ ืืืื ืืจืื, ืืืคืืื ืืช ืืืืืจื ืฉื ืืืืชื, ืืฉืืงื ืื ืืฆืืจืื ืืืืืื ืฉืืชืจ ืืื ืืืื ืืืชืงืืื ืืืคืืื ืืืืื ืืงืืืืช. ืืืื ืืืื ืืช ืื! ืืืื ืฉืืืฉืืง ื ืืฉื, ืืฆืจื ืืืชื ื ืงืฉืจ ืคืขืืืื ืืื ืืืฆืืจ ืืชืจืื.
ืืืชืืื ืขืฉืืชื ืืช ืืขืืฆืื ืืขืฆืื, ื ืืกืืชื ืืืืื ืขืื ืืืคืื ืืืืื ืืื ืืืจืืงืื. ืืื ืืขืื ืืืขืฆื ืืื 10 ืฉื ืื ืืกืชืื ืืขืืจ ืืืชืคื ืืืื ืืช ืื ื"ืืื ืืื". ืืื ืืฉืืืจ ืืืื ืขืืฆืื, ืืชื ืฆืจืื ืืืืืจ ืืืชื.
ืืฉื ื ืืกืคืจ ืฉืืืืื ืฆืืขืื ืืืขืืจืจืื ืชืืืฉืช ืืืขื ืืชืืฉืืช: ืืจืืง ืืืืื ืืขืื ืขืืฉืจ ืฉืืื, ืืคืืจ ืืืจืื, ืืืื ืคืืืก ืืื. ืืกืืคื ืฉื ืืืจ ืืกืชืคืงื ื ืืฉืืืื ืฉื ืืืื ืืืจืืง ืืฆืืขื ืืืกืืก, ืืืกืคื ื ืืืคืื ืขื ืืชืื ืืืืจื ื 3-4 ืชืืื ืืช ืฉื ืกืืงืืืื ืขืฆืื ืืชืื ืชืืื ืช ืกืืืง. ืืื ืื ืจืง ืืื ืืจืืฉืืช: ืืืจ ืืืื ืืขืืืื, ืืืืฉ ืืืืคื ืื ืืืืืช ืืืืืืช ืืืืืืช ืืื ืืืคืืืช "ืฆืืืื ืกืืืืื ืืงืฆืืขื". ืืฆืืจื ืืืืืงื, ืื ืืจืื ืืช ืื ืืืืจืื ืืฉืืื "ืืื ืืชื ืืืื ืืช ืื?"
ืืืืื ืชืืืื ืคืืชืื ืืขืืฆืื, ืืขืื ื ืืืฅ ืืืืช ืืฉืื ืื ืืฆื ืฉืขื, ืืืกืืง ืืชืืื ืืืืก. ืคืืฉื ื ืืกื ืืคืชืื ืืช ืงืื ืกืืืช ืืืคืชืืื ืืจืื ืืืกื ืืืื ืฉืืื ืืกืืื ืืกืืื ืืช ืืืืืช - ืืื ืืืื ืขื ืขืื ืื.
ืืืฉืืจืื ืืคืืขื
ืืืืืืจืจืื ืืืืืจืืช ืืืชืงื ื ืืืืฆืขืืช ืืืกืจื ืืฆื ืืืฆืง ืืื ืฉืื ืืืืงื ืืขืืฆืื ืืืื ืืืืคื ืืืืื โ ืื ืฉืืืกืคืง ืืืื ืืืงืืื ืื ืืืืจ.
ืืื ื ืืืจ ืขื ืื ืืคืืกื ืืื, ืขื ืืืง ืืืืืจื ืฉื ืืืฉืืง ืืืื ืืื ืืคืืขื ืฉื ืืืชืจ.
ืืืฉื ืืขืงืื!
ืืืืจืื ื ืืกืคืื ืขื ืืืกืข ืืืฉืืืช ืืฉืจืช
ืืชืื ืืช ืืืฉืืง ืจืื ืจืืฉืื ืื ืขืฆืจ ืืช ืืืืจืกื ืื ืืื ืืื ืฆืืจื ืืืฉืืื ืืช ืืงืืืกื ืขื ืืจืก ืืฉืจืช
ืืงืืจ: www.habr.com