扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
关于客户留言功能
留言功能应该是每个动态网站都具备的功能,我想问问大家是用什么技术或者方法来实现的?
直接在textarea输入?如果别人恶意地输入了JS脚本怎么办?
如果用过滤的方法,一些懂HTML的人想用点个性代码怎么办?不可能 <b>、 <font>什么的都过滤了吧?另外如果是讨论编程的,更是一个代码也不能过滤。
如果是在textarea上输入,大家怎么处理换行?
有的人会用在线编辑器,但别人只是想说几句就要加载一个庞大的编辑器就太不应该了..而且在线编辑器的外观不好控制。
给用户一些自由,
允许用户输入一些HTML的话
2楼的代码是不行的,
仅仅下面这两行代码就过滤了所有的HTML代码
strFromText = strFromText.Replace(" <", "<");
strFromText = strFromText.Replace(">", ">");
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页 </title>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server" Width="298px" TextMode="multiLine"> </asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</form>
</body>
</html>
后台:
public static string SqlInsertEncode(string strFromText)
{
if (!System.String.IsNullOrEmpty(strFromText) && strFromText != "")
{
//strFromText = strFromText.Replace(";", ";");
strFromText = strFromText.Replace("!", "!");
//strFromText = strFromText.Replace("@", "@");
strFromText = strFromText.Replace("$", "$");
strFromText = strFromText.Replace("*", "*");
strFromText = strFromText.Replace("(", "(");
strFromText = strFromText.Replace(")", ")");
strFromText = strFromText.Replace("-", "-");
strFromText = strFromText.Replace("+", "+");
//strFromText = strFromText.Replace("=", "=");
strFromText = strFromText.Replace("|", "|");
strFromText = strFromText.Replace("\\", "\");
//strFromText = strFromText.Replace("/", "/");
//strFromText = strFromText.Replace(":", ":");
strFromText = strFromText.Replace("\"", """);
strFromText = strFromText.Replace("'", "'");
strFromText = strFromText.Replace(" <", "<");
strFromText = strFromText.Replace(" ", " ");
strFromText = strFromText.Replace(">", ">");
strFromText = strFromText.Replace(" ", " ");
strFromText = strFromText.Replace("\n", " <br />");
}
return strFromText;
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(SqlInsertEncode(TextBox1.Text));
}
先在TextBox1中输入js脚本等试下看它的运行结果,你就知道了~
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者