ডকুমেন্টেশনকনভেনশন এবং ধারণা

নিরাপত্তা

কিভাবে Nexy তার নিজস্ব আক্রমণের পৃষ্ঠকে ছোট রাখে, কোন সংস্করণগুলির প্রয়োজন হয় এবং কীভাবে একটি প্রকল্প পরীক্ষা করা যায়।

সংস্করণ মেঝে

নেক্সি নির্ভর করে FastAPI, Starlette, Jinja2, Vite এবং React এর উপর। একটি মেঝে সর্বনিম্ন সংস্করণ Nexy অনুমতি দেয়; প্রত্যেকে একটি প্রকাশিত পরামর্শের উত্তর দেয়।

প্যাকেজ মেঝে কেন
starlette 1.0.1 CVE-2026-48710 (BadHost): একটি তৈরি করা Host হেডার পাথ পরিবর্তন করে Starlette রিপোর্ট মিডলওয়্যারে, যা request.url.path-এ লেখা অনুমোদনকে বাইপাস করে। CISA দ্বারা শোষিত হিসাবে তালিকাভুক্ত.
fastapi 0.133.0 প্রথম রিলিজ যা একটি নির্দিষ্ট গ্রহণ করে Starlette
jinja2 3.1.6 attr ফিল্টারের মাধ্যমে স্যান্ডবক্স এস্কেপ (CVE-2025-27516)
vite (ভারা প্রকল্প) 6.4.3 server.fs.deny উইন্ডোজ বিকল্প পথে বাইপাস (CVE-2026-53571); আগের ক্যোয়ারী-স্ট্রিং বাইপাস (CVE-2026-39364) শুধুমাত্র Vite 7.1-7.3.1 এবং 8.0.0-8.0.4 কে প্রভাবিত করে
react, react-dom 19.2.5 2026 React পরামর্শগুলি react-server-dom-* প্যাকেজগুলির সাথে সম্পর্কিত, যা নেক্সি ব্যবহার করে না; মেঝে লাইন patched রাখে

আপনার সমাধান করা সংস্করণ পরীক্ষা করুন:

uv pip list | grep -i -E "starlette|fastapi|jinja2"npm ls vite

নিয়ম Nexy অনুসরণ করে

  • এর জন্য হোস্ট হেডারকে কখনই বিশ্বাস করবেন না পথ নেক্সি তার নিজস্ব মিডলওয়্যারে (ডিরেক্টরি মিডলওয়্যার) পড়ে scope["path"], request.url.path নয়। আপনার মধ্যে একই কাজ.
  • যা পৌঁছায় তা এড়িয়ে যান এইচটিএমএল ক্লায়েন্ট উপাদান, Link অ্যাট্রিবিউট, Image, Audio এবং Video অ্যাট্রিবিউট, টেবিল-অফ-কন্টেন্ট অ্যাঙ্কর এবং HTTPException বিশদ বিবরণগুলি সবই HTML-এস্কেপড। একটি .nexy টেমপ্লেট নিজে থেকে এড়িয়ে যায় না: ভিজিটর বা ডাটাবেস থেকে আসা যেকোনো মানের জন্য {{ value | e }} লিখুন এবং ব্যবহারকারীর ইনপুটে কখনোই | safe লিখুন না।
  • ডেভেলপার এন্ডপয়েন্ট শুধুমাত্র লুপব্যাক এবং সংকীর্ণ ডেভ রেন্ডার এন্ডপয়েন্ট (/__nexy__/render) শুধুমাত্র src/routes/ এর অধীনে একটি .tsx বা .jsx এক্সটেনশন সহ ফাইল গ্রহণ করে এবং শুধুমাত্র ডেভ সার্ভারের মাধ্যমেই পৌঁছানো যায়, যা বিদেশী Host শিরোনামগুলিকে প্রত্যাখ্যান করে।
  • ত্রুটি বিবরণ না ফুটো একটি ত্রুটি পৃষ্ঠা যা নিজেই ব্যর্থ হয় শুধুমাত্র স্থিতি কোড দেখায়।
  • উত্পাদন উত্তর নিরাপদ বহন হেডার X-Content-Type-Options: nosniff এবং Referrer-Policy: strict-origin-when-cross-origin, যদি না আপনার কোড তার নিজস্ব সেট করে। Server হেডার পাঠানো হয় না। আপনার প্রক্সি বা মিডলওয়্যারে Strict-Transport-Security এবং একটি Content-Security-Policy যোগ করুন: তারা আপনার ডোমেনের উপর নির্ভর করে।
  • একটি ক্র্যাশ একটি রেফারেন্স দেখায়, ত্রুটি নয়। দেখুন ত্রুটি পৃষ্ঠাগুলি
  • Nexy's Python এ না eval এবং না shell=True কোড বহিরাগত প্রোগ্রাম একটি আর্গুমেন্ট তালিকার সাথে সঞ্চালিত হয়.

অডিট চলমান

python scripts/audit_dependencies.py        # Python dependencies against the locknpm audit                                    # in a scaffolded projectuv run bandit -r nexy -c .bandit             # static analysis of Nexy itself

Nexy এর নিজস্ব সংগ্রহস্থল তার চেকগুলিতে প্রথম এবং তৃতীয়টি চালায়। উপরে একটি মেঝেতে একটি নতুন উপদেশ pyproject.toml বা স্ক্যাফোল্ডে package.json মেঝে উত্থাপনের মাধ্যমে পরিচালনা করা হয়, তারপর তালাটি পুনরুত্পাদন করা হয়।

নিরাপদে মোতায়েন করা হচ্ছে

  • আপনার ডোমেনে useTrustedHost সেট করুন: এটি যেকোনো রুটের আগে অপ্রত্যাশিত Host শিরোনাম প্রত্যাখ্যান করে।
  • Vite dev সার্ভারটি প্রকাশ করবেন না: nx dev এটিকে নেক্সি মূলের পিছনে লুপব্যাকে রাখে।
  • API স্কিমা সর্বজনীন না হলে useDocs = False সেট করুন।

মিডলওয়্যার এবং নিরাপত্তা দেখুন।

সূত্র

পরবর্তী পদক্ষেপ

GitHub-এ সম্পাদনা করুন

Enter ফলাফল খোলে, Esc বন্ধ করে।