ืคื’ื™ืขื•ืช ื‘-cdnjs ืฉืืคืฉืจื” ื‘ื™ืฆื•ืข ืงื•ื“ ื‘ืฉืจืชื™ Cloudflare

ื–ื•ื”ืชื” ืคื’ื™ืขื•ืช ืงืจื™ื˜ื™ืช ื‘ืจืฉืช ืืกืคืงืช ื”ืชื•ื›ืŸ cdnjs ืฉืœ Cloudflare, ืืฉืจ ื ื•ืขื“ื” ืœื”ืื™ืฅ ืืช ื”ืืกืคืงื” โ€‹โ€‹ืฉืœ ืกืคืจื™ื•ืช JavaScript, ื•ืœืืคืฉืจ ื‘ื™ืฆื•ืข ืงื•ื“ ืฉืจื™ืจื•ืชื™ ื‘ืฉืจืชื™ CDN. ืกื›ื ืช ื”ื‘ืขื™ื” ืžื—ืžื™ืจื” ื‘ื›ืš ืฉื›-12.7% ืžื›ืœืœ ื”ืืชืจื™ื ื‘ืื™ื ื˜ืจื ื˜ ืžืฉืชืžืฉื™ื ื‘ืฉื™ืจื•ืช ืœื”ื•ืจื“ืช ืกืคืจื™ื•ืช JavaScript, ื•ืคื’ื™ืขื” ื‘ืชืฉืชื™ืช ืžืืคืฉืจืช ืœื”ื—ืœื™ืฃ ืืช ื”ืกืคืจื™ื•ืช ื”ืžืกื•ืคืงื•ืช ื‘ื›ืœ ืื—ื“ ืžื”ืืชืจื™ื ื”ืœืœื•.

ืฉื™ืจื•ืช cdnjs ืžื•ืจื™ื“ ื—ื‘ื™ืœื•ืช ืž-Git ืื• ืžืžืื’ืจ NPM, ื•ืœืื—ืจ ืžื›ืŸ ื”ื•ื ืžืืคืฉืจ ืœื›ืœ ืืชืจ ืœื”ืฉืชืžืฉ ื‘ืจืฉืช ืžืฉืœื•ื— ื”ืชื•ื›ืŸ ืฉืœ Cloudflare ื‘ื—ื™ื ื ื›ื“ื™ ืœื”ืื™ืฅ ืืช ื”ื˜ืขื™ื ื” ืฉืœ ืกืคืจื™ื•ืช JavaScript. ื›ืืฉืจ ืœืžื“ื ื• ืืช ื”ืงื•ื“ ืฉืœ ืจื›ื™ื‘ื™ cdnjs ืฉืคื•ืจืกืžื• ื‘-GitHub, ื”ืชื’ืœื” ืฉื›ื“ื™ ืœืคืจื•ืง ื—ื‘ื™ืœื•ืช NPM ื‘ืืจื›ื™ื•ื ื™ tgz, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžื•ื“ื•ืœ ื”ืืจื›ื™ื•ืŸ/tar ื”ืกื˜ื ื“ืจื˜ื™ ื‘ืฉืคืช Go, ืืฉืจ ืžื™ื™ืฆืจ ืจืฉื™ืžืช ืงื‘ืฆื™ื ื›ืคื™ ืฉื”ื, ืžื‘ืœื™ ืœื ืจืžืœ ืืช ื”ื ืชื™ื‘ื™ื . ื‘ืžืงืจื” ืฉื‘ื• ื”ืกืงืจื™ืคื˜ ืคื•ืจืง ืืช ื”ืชื•ื›ืŸ ืขืœ ืกืžืš ื”ืจืฉื™ืžื” ื”ื ืชื•ื ื”, ื”ื ื•ื›ื—ื•ืช ื‘ืืจื›ื™ื•ืŸ ืฉืœ ืงื‘ืฆื™ื ื›ืžื• "../../../../../../../tmp/test" ื™ื›ื•ืœื” ืœื”ื•ื‘ื™ืœ ืœื”ื—ืœืคืช ืงื‘ืฆื™ื ืฉืจื™ืจื•ืชื™ื™ื ื‘ืžืขืจื›ืช, ื›ื›ืœ ืฉืžืืคืฉืจื•ืช ื–ื›ื•ื™ื•ืช ื”ื’ื™ืฉื”.

ื”ื•ืฆืข ืฉืชื•ืงืฃ ื™ื•ื›ืœ ืœื”ื’ื™ืฉ ื‘ืงืฉื” ืœื”ื•ืกื™ืฃ ืืช ื”ืกืคืจื™ื™ื” ืฉืœื• ืœ-cdnjs ื•ืœื”ืขืœื•ืช ืืจื›ื™ื•ืŸ ืžืขื•ืฆื‘ ื‘ืžื™ื•ื—ื“ ื”ืžื›ื™ืœ ืงื‘ืฆื™ื ืขื ืชื•ื•ื™ "../" ื‘ื ืชื™ื‘ ืœืžืื’ืจ NPM. ื‘ืฉืจืชื™ cdnjs ืžื‘ื•ืฆืขืช ืžืขืช ืœืขืช ืคืขื•ืœืช "ืขื“ื›ื•ืŸ ืื•ื˜ื•ืžื˜ื™", ืฉื‘ืžื”ืœื›ื” ื”ืžื˜ืคืœ ืžื•ืจื™ื“ ื’ืจืกืื•ืช ื—ื“ืฉื•ืช ืฉืœ ื”ืกืคืจื™ื™ื” ื”ืžื•ืฆืขืช ื•ืžืคืจืง ืืช ื”ืชื•ื›ืŸ. ื‘ืืžืฆืขื•ืช ืงื‘ืฆื™ื ืขื ื ืชื™ื‘ื™ื "../", ืชื•ืงืฃ ื™ื›ื•ืœ ืœื”ื—ืœื™ืฃ ืงื‘ืฆื™ื ืขื ืกืงืจื™ืคื˜ื™ื ืฉืœ ืฉื™ืจื•ืช ื•ืœื”ืคืขื™ืœ ืืช ื”ืงื•ื“ ืฉืœื”ื ื‘ืฉืจืช ืฉื‘ื• ื‘ื•ืฆืขื” ื”ืคืจื™ืงื”.

ื‘ืžืงืจื” ืฉืœ ื”ื•ืจื“ืช ืขื“ื›ื•ื ื™ื ืž-Git, ื”ืชื’ืœื” ืฉื”ืžื˜ืคืœ ืฉื”ื•ืจื™ื“ ืืช ื”ืขื“ื›ื•ื ื™ื ืœื ืœืงื— ื‘ื—ืฉื‘ื•ืŸ ืงื™ืฉื•ืจื™ื ืกืžืœื™ื™ื ื‘ืขืช ื”ืขืชืงืช ืงื‘ืฆื™ื ืž-Git. ืชื›ื•ื ื” ื–ื• ืืคืฉืจื” ืœืืจื’ืŸ ืืช ื”ืงืจื™ืื” ืฉืœ ื›ืœ ืงื‘ืฆื™ื ืžื”ืฉืจืช ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ืงื™ืฉื•ืจื™ื ืกืžืœื™ื™ื ืœ-Git.

ื”ื•ื—ืœื˜ ืœื”ืชื—ื™ืœ ื‘ื ื™ืกื•ื™ื™ื ื‘ื”ื“ื’ืžื” ืฉืœ ืคืจื™ืฆื” ืœ-cdnjs ื›ื“ื™ ืœืงื‘ืœ ืคืจืก ื‘-HackerOne ืขืœ ื™ื“ื™ ื‘ื“ื™ืงืช ื”ื”ืฉืขืจื” ืœื’ื‘ื™ ืงืจื™ืืช ืงื‘ืฆื™ื. ืงื™ืฉื•ืจ ืกืžืœื™ test.js ื ื•ืกืฃ ืœืžืื’ืจ Git ืฉืœ ืกืคืจื™ื™ืช JavaScript ื”ืžื•ื’ืฉืช ื‘ืืžืฆืขื•ืช CDN, ื•ืžืฆื‘ื™ืข ืขืœ ืงื•ื‘ืฅ /proc/self/maps. ืœืื—ืจ ืคืจืกื•ื ื’ืจืกื” ื—ื“ืฉื” ืฉืœ ื”ืกืคืจื™ื™ื”, ืžื˜ืคืœ ื”ืขื“ื›ื•ื ื™ื ืขื™ื‘ื“ ืžืื’ืจ ื–ื” ื•ืคืจืกื ืืช ื”ืงื•ื‘ืฅ ืฉืฆื•ื™ืŸ ื‘-cdnjs (test.js ื ื•ืฆืจ ื›ืงื™ืฉื•ืจ ืกืžืœื™ ื•ื›ืืฉืจ ื”ืชื‘ืงืฉ ืงื•ื‘ืฅ ื–ื”, ื”ืชื•ื›ืŸ ืฉืœ /proc/self/maps ื”ื•ื—ื–ืจ ).

ื‘ื”ื—ืœืคืช ืงื™ืฉื•ืจ ืกืžืœื™ ืœืงื•ื‘ืฅ /proc/self/environ, ืžื—ื‘ืจ ื”ืžื—ืงืจ ืฉื ืœื‘ ืฉื”ื ืชื•ื ื™ื ื”ื ืชื•ื ื™ื ืžื›ื™ืœื™ื ืืช ื”ืขืจื›ื™ื ืฉืœ ืžืฉืชื ื™ ื”ืกื‘ื™ื‘ื” GITHUB_REPO_API_KEY ื•-WORKERS_KV_API_TOKEN. ื”ืžืฉืชื ื” ื”ืจืืฉื•ืŸ ืื—ืกืŸ ืืช ืžืคืชื— ื”-API ืขื‘ื•ืจ ื’ื™ืฉืช ื›ืชื™ื‘ื” ืœืžืื’ืจ robocdnjs ื‘-GitHub. ื”ืžืฉืชื ื” ื”ืฉื ื™ ืื—ืกืŸ ืืช ื”ืืกื™ืžื•ืŸ ื‘ืื—ืกื•ืŸ KV ื‘-cdnjs. ื‘ืืžืฆืขื•ืช ื”ืžื™ื“ืข ืฉื”ืชืงื‘ืœ, ื”ืชื•ืงืฃ ื™ื›ื•ืœ ืœื‘ืฆืข ืฉื™ื ื•ื™ื™ื ื‘-cdnjs ื•ืœืกื›ืŸ ืœื—ืœื•ื˜ื™ืŸ ืืช ื”ืชืฉืชื™ืช.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”