স্কট মিচেল অপ্রয়োজনীয় শিরোলেখ অপসারণ করার জন্য একটি ব্লগ পোস্ট সমাধান সরবরাহ করে ।
যেমন ইতিমধ্যে অন্যান্য উত্তরে এখানে বলা হয়েছে, Serverশিরোনামের জন্য, এখানে আইআইএস 10+ এর জন্য http মডিউল সমাধান , বা একটি ওয়েবকনফিগ সমাধান রয়েছে বা আপনি এটি ফাঁকা করার পরিবর্তে ইউআরএলআরয়েট ব্যবহার করতে পারেন ।
একটি আপ-টু-ডেট (আইআইএস 10 +) সেটআপের সর্বাধিক ব্যবহারিক সমাধানটি removeServerHeaderওয়েবকনফাইগটিতে ব্যবহার করছে:
<system.webServer>
...
<security>
<requestFiltering removeServerHeader="true" />
</security>
...
</system.webServer>
জন্য X-AspNet-Versionএবং X-AspNetMvc-Versionকেবল তাদের এ সব উৎপাদিত: তিনি প্রতিটি প্রতিক্রিয়া উপর সরাবার চেয়ে ভাল উপায় প্রদান করে।
ওয়েবকনফিগে enableVersionHeaderঅক্ষম করার জন্য ব্যবহার করুনX-AspNet-Version
<system.web>
...
<httpRuntime enableVersionHeader="false" />
...
</system.web>
ব্যবহারের MvcHandler.DisableMvcResponseHeaderনেট Application_Start ইভেন্টে অক্ষম করারX-AspNetMvc-Version
MvcHandler.DisableMvcResponseHeader = true;
এবং পরিশেষে, আইআইএস কনফিগারেশনে X-Powered-Byওয়েবকনফিগের কাস্টম শিরোনামে সরান ।
<system.webServer>
...
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
...
</system.webServer>
সাবধান, আপনার যদি এআরআর (অ্যাপ্লিকেশন অনুরোধ রাউটিং) থাকে তবে এটি নিজস্ব নিজস্বও যুক্ত X-Powered-Byকরবে, যা কাস্টম শিরোনাম সেটিংস দ্বারা সরানো হবে না। এটি আইআইএস ম্যানেজারের মাধ্যমে অপসারণ করতে হবে, আইআইএস মূলটিতে সম্পাদক কনফিগারেশন (কোনও সাইটে নয়): system.webServer/proxyনোডে যান এবং সেট হয়ে arrResponseHeaderযান false। একটি পরে IISReset, এটি আমলে নেওয়া হয়।
(আমি এটি এখানে পেয়েছি , এই পোস্টটি বাদে পুরানো আইআইএস 6.0 বিষয়গুলি কনফিগার করার পদ্ধতি way
ভুলে যাবেন না যে অ্যাপ্লিকেশন কোড দ্বারা সমাধান স্থিতিশীল সামগ্রীতে উত্পাদিত শিরোলেখের ডিফল্টরূপে প্রয়োগ হয় না (এটি runAllManagedModulesForAllRequestsপরিবর্তন করার জন্য আপনি সক্রিয় করতে পারেন , তবে এটি সমস্ত অনুরোধগুলি চালানোর জন্য কারণ হিসাবে তৈরি করে et নেট পাইপলাইন)। এটি X-AspNetMvc-Versionস্ট্যাটিক সামগ্রীতে যুক্ত না হওয়ার কারণে এটি কোনও সমস্যা নয় (কমপক্ষে স্থির অনুরোধটি। নেট পাইপলাইনে চালিত না হলে)।
পার্শ্ব নোট: যখন লক্ষ্যটি ব্যবহৃত প্রযুক্তিটি ক্লোক করা, তখন আপনার মানকও পরিবর্তন করা উচিত et নেট কুকির নামগুলি ( .ASPXAUTHযদি ফর্ম লেখক সক্রিয় হয় ( যদি ওয়েলকনফিগে ট্যাগটিতে nameঅ্যাট্রিবিউট ব্যবহার করুন forms)), ASP.NET_SessionId( ট্যাগের <sessionState cookieName="yourName" />অধীনে ওয়েবকনফিগ ব্যবহার করুন system.web), __RequestVerificationToken(এটি পরিবর্তন করুন ) কোড সহ AntiForgeryConfig.CookieName, তবে দুর্ভাগ্যক্রমে এই সিস্টেমটি এইচটিএমএল উত্পন্ন করে এমন লুকানো ইনপুটটিতে প্রয়োগ হয় না))।