禁用 ASP.NET-MVC3 中 unicode 字符的编码

2023-11-24

在我的网站上,每个文本都以 UTF-8 格式提供。

由于现在每个浏览器都支持 unicode 字符,因此我想按原样使用它们。

asp.net 框架非常有用,它可以用数字字符引用替换任何 unicode,例如á。供参考检查:http://en.wikipedia.org/wiki/Unicode_and_HTML#HTML_document_characters

当然,通过这种方式,网页可以在最古老的 Netscape 中正确呈现,但例如谷歌分析电子商务模块在理解这些特殊编码的字符时遇到一些困难。

有没有办法全局禁用数字字符参考编码?

例如我想用剃刀写:

<span class="title">@ViewBag.Title</span>

我希望这个显示在输出上:

<span class="title">Számítástechnika</span>

不是这个:

<span class="title">Sz&#225;m&#237;t&#225;stechnika</span>

我不想禁用 html 编码,因此 Html.Raw 不是一个解决方案,例如我无法确保 @ViewBag.Title 不会包含如下内容:

<span class="title"><script>alert('injected hahahah');</script></span>

所以我对特殊 html 字符的自动编码感到满意。这不是我想要禁用的。

我不想重构所有代码,并且我认为应该有一个“全局开关”来禁用在 razor 中使用字符串参数时的这种行为。有没有办法做到这一点?

我还可以明确禁止数字字符引用,例如类似的内容new MvcHtmlString(myString, some parameters) ?


恐怕您无法关闭此编码功能。这个“好”的功能是由WebUtility.HtmlEncode并且您无法影响编码。

然而随着开始.net 4.0您可以通过创建一个继承自的类来自定义编码行为HttpEncoder并在 web.config 中进行配置HttpRuntimeSection.EncoderType。但您需要实现自己的自定义编码逻辑。

Luckily .net 4.5附带一个新的HttpEncoder它编码了不好的东西(比如<script>) 但是正确处理 Unicode 字符称为AntiXss编码器

所以你只需要将其添加到你的 web.config 中:

<system.web>
    <httpRuntime encoderType="System.Web.Security.AntiXss.AntiXssEncoder, 
                             System.Web, Version=4.0.0.0, Culture=neutral, 
                             PublicKeyToken=b03f5f7f11d50a3a"/>    
</system.web>

如果您还没有使用 .net 4.5,您可以实现您的AntiXssEncoder在...的帮助下微软网络保护库

这是一篇如何设置的文章:使用 AntiXss 作为 ASP.NET 的默认编码器(虽然它可能已经过时了)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁用 ASP.NET-MVC3 中 unicode 字符的编码 的相关文章

  • 将 HTML 导出为 PDF 时出现中文和日文字符编码问题

    我运行一个基于 Web 的时间线制作工具 让用户可以用 HTML JavaScript 创建时间线 然后将其导出到 PDF 文件以便在完成后进行打印 我有几个用户报告了当时间线包含某些 Unicode 字符时将时间线导出为 PDF 时出现的
  • PHP中如何判断字母是大写还是小写?

    我有 UTF 8 格式的文本 也带有变音符号 并且想检查该文本的第一个字母是大写还是小写 这个怎么做 function starts with upper str chr mb substr str 0 1 UTF 8 return mb
  • Jquery 对话框部分视图服务器端验证“保存”按钮单击

    我有一个显示数据的表格 表格的每一行都有编辑按钮 单击编辑按钮时 将出现一个 jquery 对话框 其中包含用于编辑用户信息的表单以及保存和取消按钮 表单只不过是部分视图 按钮是部分视图的一部分
  • 将视图中的 src 属性设置为 MVC3 项目外部的 url

    我正在尝试创建一个应用程序来显示本地存储在网络服务器上的图像 这是我的观点 请注意 条目 是绝对地址 例如 C Images Image1 jpg 但是 当我运行它时 我得到 Not allowed to load local resour
  • 如何在 Html.BeginForm 中使用 @FileUpload.Get Html 并提交文件列表

    FileUpload GetHtml 有一个默认的提交按钮 但我希望在 Html 开始表单中有一个提交按钮 并使用该替换来提交带有更多参数的文件列表 但是 当我这样做时 在 Action 方法中传递的 IEnumerable 始终为 nul
  • 在同一父视图上多次使用一个局部视图

    我正在使用 MVC3 剃须刀 我有一个场景 我必须在同一个父视图上多次使用部分视图 我遇到的问题是 当渲染父视图时 它会在这些部分视图中生成相同的输入控件名称和 ID 由于我的部分视图绑定到不同的模型 因此当视图在 保存 上发回时 它会崩溃
  • .properties 或 JSP 编码有问题

    我有jsp文件
  • Firefox 页面未正确重定向

    当我访问我的特定网址时asp net mvc 3 questions tagged asp net mvc 3我在 Firefox 中收到此错误 有问题的页面是登录屏幕 页面未正确重定向 Firefox 检测到服务器正在重定向请求 这个地址
  • 响应不按顺序

    我正在使用 Obout com MVC 控件 并在我的视图之一中包含以下代码 Html Obout new ComboBox Languages Width 175 SelectedIndex int ViewData DefaultLan
  • 在部分视图中传递参数 - MVC3/Razor

    如何将参数传递给 MVC3 razor 中的局部视图 我在 MVC 项目中用部分视图替换了常规视图页面 对于常规视图页面 我传递了如下参数 public ActionResult MeanQ int id Access access db
  • 如何使用 Apache Ant 将 Java 文件编码为 UTF-8?

    在我的 build xml 文件中 我通过 cxf 获取一些 Java 文件 其中一些 Java 文件需要使用 UTF 8 进行编码 如何使用 Ant 将编码更改为 UTF 8 PS 我找到了如何将 javac 的编码设置为 UTF 8 的
  • Razor mvc3 + jquery + Url 操作 + 部分视图

    我有一个关于 jQuery Razor 的问题 我想使用 razor 和 Url Action 构建一个 javascript 变量 并且 html 属性将是输入的值 像这样 var d1 d1 val var d2 d2 val var
  • 如何在 MVC 3 中基于 XML 文件动态创建控件

    我有一个以 XML 格式存储在数据库中的 XML 文件 其中包含一些控件 例如下拉文本框 标签文本区域等 这些控件可能有也可能没有初始值 所以我的目标是读取 XML 文件 并根据控件类型 我需要动态创建该控件并关联初始值 如果有 并且页面的
  • R 的 read.csv 在第一列名称前面加上垃圾文本[重复]

    这个问题在这里已经有答案了 我已将数据从 SQL Server Management Studio 中的结果网格导出到 csv 文件 csv 文件看起来正确 但是当我使用 read csv 将数据读入 R 数据帧时 第一个列名称前面带有 如
  • 更改成员资格、角色等的默认连接字符串

    默认情况下 我的网络应用程序似乎正在使用LocalSqlServer作为用于任何应用程序服务 例如成员资格 角色 身份验证 等 的连接字符串 有什么方法可以更改默认连接字符串应该是什么 默认值是 LocalSqlServer 似乎很随意 我
  • ASP.NET 视图中的区域?

    我正在使用 razor 引擎制作 ASP NET MVC 应用程序 我想知道是否可以使用Regions http msdn microsoft com en us library 9a1ybwek aspx在一个视图中 就像是 region
  • 国际化和非 US-ASCII、Latin1 或 Win1252 的密码

    当用户输入最能以 Unicode 或其他非拉丁字符编码表示的内容时 您如何处理服务密码 具体来说 可以使用西里尔字母密码作为Oracle的密码吗 如果密码以 UTF 8 形式提供 您如何根据 Windows 身份验证机制验证用户的密码 我对
  • ASP.NET MVC3 IIS7.5:Cache-Control maxage 始终为 0(不利于客户端缓存)

    我正在使用 Fiddler 测试我的网站 并注意到网络服务器总是返回 Cache Control private s maxage 0 用于动态内容 MVC 操作 这可以防止页面在客户端缓存 不知道是MVC还是IIS的问题 我该如何修复它
  • 如何在Vim中正确显示UTF-8字符

    我想要 需要编辑包含 UTF 8 字符的文件 并且我想使用 Vim 在我被指责问以前问过的问题之前 我已经阅读了有关编码 文件编码 s 术语编码等的 Vim 文档 用 google 搜索了该主题 并阅读这个问题 https stackove
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP

随机推荐

  • 如何覆盖Spring Cloud Ribbon中的ribbon.serverListRefreshInterval默认值?

    我编写了一个简单的 Spring Cloud Ribbon 应用程序 来调用在 Eureka 中注册的 REST 服务 但如何覆盖ribbon serverListRefreshInterval价值 默认值是30秒 我想减少时间间隔 提前致
  • 带颜色渐变填充的 Matplotlib 矩形

    我想在我的轴实例中的任意位置 任意尺寸绘制一个从左到右渐变颜色填充的矩形 ax1 坐标系 我的第一个想法是创建一个路径补丁并以某种方式将其填充设置为颜色渐变 但根据这个帖子没有办法做到这一点 接下来我尝试使用颜色条 我创建了第二个轴实例ax
  • 在matlab中,如何在图像上绘制网格

    如何在图像上绘制网格 它应该成为该图像本身的一部分 它应该能够在图像本身上显示一些行和列 可以指定行和列的线 事实上 一些研究论文讨论有关图像扭曲的结果的方式让我感到鼓舞 其中一个链接是这样的 http www hammerhead com
  • 支持 Final 字段的 Java 持久性提供程序

    我对 Java 很陌生 但我已经养成了尽可能使用 Final 声明不变性的习惯 我认为这是一件好事 考虑 f 我读到 JPA 不支持最终字段 休眠 TopLink 我不确定这些 但我现在更喜欢 JPA 从理论上讲 是否有可能 比如说通过反射
  • 如何使用 OpenSSL 编译 .c 文件?

    我正在尝试编译一个小的 c 文件 其中包含以下内容 include
  • 如何仅使用 Parser 实例将 XML 写入文件?

    这是我的 Groovy 代码 def xml new XmlParser parse fileName xml each e gt some changes are being made to XML xml append test tes
  • 为什么 SIGFPE 用于整数算术异常?

    Why was SIGFPE用于整数算术异常 例如除以零 而不是为整数算术异常创建单独的信号或通常首先为算术异常命名信号 IEEE Std 1003 1 标准将 SIGFPE 定义为 错误的算术运算 并且并没有真正提到浮点运算 这背后的原因
  • 如何使用 TF2.0 中内置的 Keras 生成 CNN 热图(tf.keras)

    我曾经基于 TensorFlow 1 之上的独立 Keras 库为我的卷积神经网络生成热图 然而 在我切换到 TF2 0 并内置之后 效果很好tf keras实施 与急于执行 我不能再使用旧的热图生成代码 所以我为 TF2 0 重写了部分代
  • typedef 函数指针?

    我正在学习如何动态加载 DLL 但我不明白这一行 typedef void FunctionFunc 我有几个问题 如果有人能够回答他们 我将不胜感激 Why is typedef used 语法看起来很奇怪 后void不应该有函数名什么的
  • Babel ESLint:类型错误:无法读取 null 的属性“范围”

    我使用 babel eslint 来检查 修复我的代码 工作得很好 直到我想采用一些 ES2017async await found overhere 我相应地更改了我的 React 应用程序 尽管略有不同 我的index js的相关部分
  • 在 Eclipse 中运行时 Tomcat 主页不显示

    我在 Eclipse 中运行 Tomcat 我想查看 Tomcat 主页 但它没有显示 当我浏览时http localhost 8080 然后我收到 HTTP 404 Page Not Found 错误 这是如何引起的以及如何解决 Ecli
  • -webkit-text-fill-color:透明;无法在 Safari 7.1.7 中工作

    我有一个有几个li的ul 我在 ul 上使用这个 id list margin right auto margin left auto width 500px color black background webkit linear gra
  • 如何在jfreechart中禁用鼠标拖动缩放而不禁用mousewheellistener?

    我想通过鼠标拖动禁用缩放 绘制该矩形 但不禁用鼠标轮缩放 我在另一个主题中发现如何在将鼠标向左拖动时禁用缩放重置 restoreAutoBounds 我对如何解决这个问题感兴趣 有没有什么捷径可以做到这一点 好的 我已经通过重写 Mouse
  • 如何在 WebBrowser 控件内调用 JavaScript?

    我想像这样调用 JavaScript 函数 Goto javascript Goto DM NEW OBJECT ASPX DM CAT ID 2063 amp DM PARENT ID 2217 amp INPUTSELECTION am
  • 如何在java中使接受的套接字非阻塞

    我接受来自客户端的连接 然后将连接的套接字传递给另一个对象 但是 该套接字需要是非阻塞的 我正在尝试使用getChannel configureBlocking false 但这似乎不起作用 它需要是非阻塞的 因为下面的方法每 100 毫秒
  • WPF 没有 Visual Studio?

    在不接触 Visual Studio 或任何其他 IDE 的情况下创建 WPF 应用程序是否实用 比如说 完全在 Vim 和命令行中编码和编译 您会向尝试这样做的人推荐哪些资源 这将是possible 因为基本上 WPF 是基于 XAML
  • Openshift 中的 NGINX - NGINX 无法解析内部主机名

    当使用变量重写并代理到 nginx 容器的 proxy pass 配置中的内部 Openshift 服务时 NGINX 由于需要解析器而无法解析服务的 DNS 例如 location api set pass url http servic
  • Magento:在 list.phtml 中获取图片库

    对于已加载的产品 如何将图片库抓取到 Magento 的类别页面中 this gt getImageGallery product 不会工作 product Mage getModel catalog product gt load pro
  • Cypress,cy.visit() 尝试加载 ESOCKETTIMEDOUT 失败 [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 致力于www github com cy visit 尝试加载 ESOCKETTIMEDOUT 失败 但在其他网站上没有 对我来说 通过在赛普拉斯配置中添加以下内容解决了问题 header
  • 禁用 ASP.NET-MVC3 中 unicode 字符的编码

    在我的网站上 每个文本都以 UTF 8 格式提供 由于现在每个浏览器都支持 unicode 字符 因此我想按原样使用它们 asp net 框架非常有用 它可以用数字字符引用替换任何 unicode 例如 225 供参考检查 http en