c# - 如何将字符串转换为浏览器在 C# 中解释的 html 属性值
问题描述
我需要在服务器端验证用户输入,并且href
需要确保只允许作为协议(如果指定的话)。目标是消除可能的恶意代码或任何类似的东西。http://
https://
javascript:...
造成困难的是冒号可以在这样的字符串中编码的方式数量,例如:
, :
, :
, :
, :
。我想转换值并在浏览器呈现页面之前将其视为浏览器。
一种选择是使用 AngleSharp 构建 DOM 文档,因为它在解析属性时做得非常好。然后我可以检索该值并对其进行验证,但是为了解析一个值而构建整个 DOM 树似乎有点过头了。有没有办法使用 AngleSharp 来解析一个属性值?或者是否有一个我可以仅用于此任务的库?
我也发现了这个问题,但是其中使用的方法并没有像浏览器那样真正解析 URI。
解决方案
你想要的HtmlDecode()
方法。您可能需要添加对项目的引用才能使用它。
推荐阅读
- neo4j - 创建一个节点并将其分配给 Cypher Neo4j 中表的列的总和
- javascript - Sublime 文本编辑器 3,不保存但保存
- actions-on-google - 谷歌操作对话退出:不等待用户响应
- oracle - 填充数据仓库(Oracle)的过程中的分布式查询问题
- php - 如何在 phalcon 中获取具有最大列值的记录?
- css - 如何在图像内叠加文本和寻呼机?
- javascript - 我可以将 OverlappingMarkerSpiderfier 与 react-google-maps 一起使用吗?
- python - Pandas pivot_table 使用列名
- c# - ML.NET 10 分钟教程未完成训练模型。消息“线程 0xXXXX 已退出,代码为 0”
- javascript - 有没有办法将两个标题都固定在页面顶部?