js提交文本内容,无法提交到服务器问题解决和js替换字符串问题

其实就是带有html标签元素的内容无法提交到服务器的问题(asp.net,别的咱不清楚),当然知道“跨站脚本攻击”的,遇到这个问题不奇怪,但对于类似我这样的新手,可能还纳闷呢。。

不是个大问题,但自己遇到过两次,第二次竟然一点印象都没有,上网查了才恍然大悟。

解决方法:手动替换掉html标签或添加ValidateRequest="false"(此方法不建议,不安全),  http://blog.csdn.net/imagse/article/details/3095085

// 将输入字符串编码,这样所有的HTML标签都失效了。 
StringBuilder sb = new StringBuilder( 
HttpUtility.HtmlEncode(htmlInputTxt.Text)); 
// 然后我们选择性的允许<b> 和 <i> 
sb.Replace("&lt;b&gt;", "<b>"); 
sb.Replace("&lt;/b&gt;", ""); 
sb.Replace("&lt;i&gt;", "<i>"); 
sb.Replace("&lt;/i&gt;", ""); 
Response.Write(sb.ToString()); 

到这里又出现自己犯了不止一次的错误,jquery的“Replace”只能替换文本中第一次出现的相应字符,也就是一行这样的代码就替换了一处

解决方法:使用正则表达式解决  http://www.jiaonan.tv/html/blog/1/29207.htm

这些小问题出现了不止一次,自己却没什么印象,白费了时间在上面,所以记下来,没事看下,谨记谨记。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章