asp.net-core - 从 ASP.NET Core 2.1 应用程序中删除“服务器”标头
问题描述
是否可以删除ASP.NET Core 2.1 应用程序(在带有 IIS 10 的 Server 2016 上运行)中的服务器响应标头?
我尝试将以下内容放入 web.config:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="sameorigin" />
<add name="X-XSS-Protection" value="1; mode=block" />
<add name="X-Content-Type-Options" value="nosniff" />
<remove name="X-Powered-By" />
<remove name="Server" />
</customHeaders>
</httpProtocol>
</system.webServer>
对 Response 的前四个更改工作正常,但未删除Server标头。我仍然看到“红隼”
解决方案
此解决方案适用于 IIS 10+ 版本,并允许在服务器响应中删除x-powered-by
和标头。server
在 IIS 10 中添加了一个新属性:removeServerHeader
.
我们需要web.config
在 asp.net 核心应用程序中创建具有以下内容的文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering removeServerHeader="true" />
</security>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
然后在 IIS 上发布应用程序并重新启动站点。
推荐阅读
- c++ - << 运算符优先级与字符串比较
- python - Python Pandas 数据清理问题
- java - 无法从具有某些属性 JAVA 的 XML 元素中提取字段
- react-hooks - 在 MobX 中使用 React Context 的实际优势是什么?
- phpunit - 无法连接到 localhost 端口 4444:在运行 phpunit 功能 javascript 测试时,drupal 中的 DDEV(docker)设置上的连接被拒绝
- android - 在 ViewPager 中显示 lottiefiles
- google-apps-script - onEdit() 触发器无法创建新的电子表格
- c# - .NET Core 3.1: pass value from cshtml page input form field to controller
- laravel-5.8 - 重用创建表单以更新表单中的数据库值和旧值?
- python - 带有 datetimeindex 的 Pandas 数据框,按月和年对记录进行排序