gpt4 book ai didi

c# - 从模板创建的页面中的字符串替换

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:56 35 4
gpt4 key购买 nike

我有一些用户从模板创建的 aspx 页面。包括一些字符串替换(使用 ${fieldname} 的任何内容),因此模板的一部分如下所示:

<% 
string title = @"${title}";
%>
<title><%=HttpUtility.HtmlEncode(title) %></title>

当从该模板创建 aspx 文件时,${title} 将替换为用户输入的值。

但显然他们可以通过关闭输入字符串中的双引号来注入(inject)任意 HTML。我该如何解决这个问题?我觉得这应该很明显,但我想不出办法解决这个问题。

我无法控制模板实例化过程——我需要接受它作为给定的。

最佳答案

您能否将它们的值存储在另一个文件(可能是 xml)或数据库中?这样他们的输入就不会编译到您的页面中。然后你只需将数据读入变量。然后你只需要担心 html,你的 html 编码会处理它。

关于c# - 从模板创建的页面中的字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1099916/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com