用了FreeTextBox后 pages validateRequest="false"的问题

问题描述

在ASP.NET中,添加新闻等页面,用了FreeTextBox后就必须在Web.config中设置pagesvalidateRequest="false"么,这样做是不是不安全?但不设置的话,修改字体颜色等会产生"<>"的操作都会出错。有没有什么方法既可以用FreeTextBox修改字体格式等,又能保证安全?

解决方案

解决方案二:
不一定,你客户端进行先编码也是可以的
解决方案三:
你可以在提交的时候执行下面的代码functionmyfunction(){t=document.getElementById("TextBox1");t.value=escape(t.value);}服务器端Microsoft.JScript.GlobalObject.unescape(TextBox1.Text)得到例子<%@PageLanguage="C#"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><scriptrunat="server">protectedvoidButton1_Click(objectsender,EventArgse){Stringhtml=Microsoft.JScript.GlobalObject.unescape(TextBox1.Text);Response.Write("你输入的是:"+Server.HtmlEncode(html));//为了直接显示才进行HtmlEncode,实际不需要TextBox1.Text=html;}</script><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title></title><script>functionmyfunction(){t=document.getElementById("TextBox1");t.value=escape(t.value);}</script></head><body><formid="form1"runat="server"><asp:TextBoxID="TextBox1"runat="server"Height="275px"TextMode="MultiLine"Width="554px"></asp:TextBox><br/><asp:ButtonID="Button1"runat="server"OnClick="Button1_Click"Text="Button"OnClientClick="myfunction()"/></form></body></html>

解决方案四:
学习了。。。。==================今天下午心情不好,就在CSDN混了。。=========================
解决方案五:
protectedvoidPage_Error(objectsender,EventArgse){Exceptionex=Server.GetLastError();if(HttpContext.Current.Server.GetLastError()isHttpRequestValidationException){HttpContext.Current.Response.Write("请输入合法的字符串【<ahref=/"javascript:history.back(0);/">返回</a>】");HttpContext.Current.Server.ClearError();}}在你的提交事件里面写//将输入字符串编码,这样所有的HTML标签都失效了。StringBuildersb=newStringBuilder(HttpUtility.HtmlEncode(htmlInputTxt.Text));//然后我们选择性的允许<b>和<i>sb.Replace("&lt;b&gt;","<b>");sb.Replace("&lt;/b&gt;","</b>");sb.Replace("&lt;i&gt;","<i>");sb.Replace("&lt;/i&gt;","</i>");Response.Write(sb.ToString());

时间: 2024-08-04 06:32:44

用了FreeTextBox后 pages validateRequest=&amp;quot;false&amp;quot;的问题的相关文章

spring net-spring.net Ioc解藕时把singleton=&amp;amp;quot;false&amp;amp;quot;,类被实例了5次,是怎么回事啊

问题描述 spring.net Ioc解藕时把singleton="false",类被实例了5次,是怎么回事啊 spring.net Ioc解藕时把singleton=""false"",类被实例了5次,查了很多资料都没找到理想的答案 解决方案 单步调试,检查一下你的代码逻辑是不是有多次new.

many-to-many的双向关联中两边都设置inverse=&amp;amp;quot;false&amp;amp;quot;,到底可以么

问题描述 在hibernate的双向关联中,两边都设置inverse="false"可以么?看到论坛有的大神说一定要设置一遍的inverse="true":"为什么在多对多中不能由双方都来维护关系了:因为这样会导致重复更新中间表的可能,报出重复值的错误."有哪位大神能详细解释下么? 问题补充:finallygo 写道 解决方案 嗯,是的,因为这样更符合逻辑,比如你开启了二级缓存,而你想查看有多少人是属于某一个职业的,正常来说你会通过get来获取J

escapehtml-我设置了escapeHtml=&amp;amp;quot;false&amp;amp;quot;,本应该在每个数字前出现换行。但是页面显示的时候没换行

问题描述 我设置了escapeHtml="false",本应该在每个数字前出现换行.但是页面显示的时候没换行 huiDa 对应的就是图片中回答 显示的那些文字,我设置了escapeHtml="false",本应该在每个数字前出现换行.但是页面显示的时候没换行.求大神指导 <TD align="lift"><s:property value="huiDa" escapeHtml="false"

DataFormatString=&amp;amp;quot;{0:s}&amp;amp;quot; HtmlEncode=&amp;amp;quot;False&amp;amp;quot; 咋不起作用?谢谢赐教

问题描述 <asp:BoundFieldDataField="EditDate"HeaderText="编辑时间"ItemStyle-CssClass="center"DataFormatString="{0:s}"HtmlEncode="False"/> 为啥不起作用?我需要比如:"2015-031408:24:00" 解决方案 解决方案二:{0:yyyy-MM-dd}试试

求高人指点:&amp;amp;lt;ext:button enabled=&amp;amp;quot;false&amp;amp;quot; id=&amp;amp;quot;btn&amp;amp;quot; &amp;amp;gt;行点击事件,用js设置butoon可用

问题描述 页面是ext:button+miniUI页面做的treegrid,然后进行行点击,改变按钮状态.求大神,困扰了两天,头发掉完了,求指点,3Q3Q试过了1,getElementById(<%=btn.clentid%>).dsabled="fasle",在IE下测试,按钮能用,但是显示灰色.火狐下不行.2,btn.setAttribute("Enabled",true);alter(btn.getAttribute("Enabled&q

jsp truts-&amp;amp;lt;div class=&amp;amp;quot;error_mes&amp;amp;quot;&amp;amp;gt;${message}&amp;amp;lt;/div&amp;amp;gt;

问题描述 <div class="error_mes">${message}</div> ${message}什么意思?${message}通常在哪实现? 解决方案 ${message}是java中el表达式 可以获取域中的值 四大作用域 application request session pageContext 建议百度看下el表达式就ok了 解决方案二: jsp中的EL表达式,具体看下这里面.http://blog.csdn.net/chinacshar

safari-MacBook的Safari下type=&amp;amp;quot;submit&amp;amp;quot;点击后显示不出div

问题描述 MacBook的Safari下type="submit"点击后显示不出div 如题,按钮点击的时候在window浏览器这个红色背景的div会一闪而过,但是在macbook的Safari中什么效果都没有,return false的时候div可以显示出来,但表单还怎么提交啊,return true时页面中div已经加载变成block了,感觉是还没来得及被浏览器渲染页面就刷新了一下,有没有什么办法可以让它有一闪而过的效果? html: <div id="divTes

jquery mobile中使用data-role=&amp;amp;quot;dialog&amp;amp;quot;弹出对话框的问题

问题描述 jquery mobile中使用data-role="dialog"弹出对话框的问题 如图,当页面除了一个"page"和"dialog"还有其它的 容器时,对话框后的背景就会显示没有样式的这个容器内容, 这是为什么呢,怎样才能让背景中不显示任何东西 解决方案 试试把背景内容放到另一个page中 你说的data-role =dialog 我没注意到 这个属性... 另外 可以看看 . data-role=popup http://www.

java web-&amp;amp;lt;c:forEach items=&amp;amp;quot;${salesProducts }&amp;amp;quot; var=&amp;amp;quot;pro&amp;amp;quot;&amp;amp;gt;

问题描述 <c:forEach items="${salesProducts }" var="pro"> ${pro.goodsName}特价:¥${pro}/c:forEach pro的bean类属性都设了getter和setter方法,但是${pro.goodsName}没值,${pro}却有值 解决方案 检查一下goodsName属性名称有没写错. 解决方案二: private String goodsName;public String getG