ืืืืชื ืคืืืขืืช ืงืจืืืืช ืืจืฉืช ืืกืคืงืช ืืชืืื 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