从客户端()中检测到有潜在危险的 Request.Form 值——前台如何编码——后台如何替换

小大飞 2013-12-16 04:02:56
我的网页前台提供一个富文本编辑器,允许用户从Word或者网页,直接复制文本粘贴到富文本编辑器中,提交到服务器。
然后提交后,就发生了:“从客户端()中检测到有潜在危险的 Request.Form 值”这个错误。
我知道这是由于微软在aspx中引入了安全验证的缘故,网上说的:
==============================================
解决方案一:
在.aspx文件头中加入这句:
<%@ Page validateRequest="false" %>
eg:<%@ Page Language="C#" AutoEventWireup="false" ValidateRequest="false" CodeFile="你的页面.vb" Inherits="你的页面" %>

解决方案二:
修改web.config文件:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因为validateRequest默认值为true。只要设为false即可。
-------------------------------------------------------------

这些我都知道。但是这样网站就会不安全,所以我想知道在前台如果对输入内容自动编码,然后在后台替换。
对http请求,还是理解不够,不知道如何下手。
求高手指教下,给说说怎弄?
...全文
221 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
小大飞 2013-12-23
  • 打赏
  • 举报
回复
引用 9 楼 t101lian 的回复:
看看这里 http://www.cnblogs.com/JosephChen/archive/2010/11/06/1870833.html 你还发过同样的贴对吧?
恩,是的。 谢谢你,这么热心。万分感谢。 你给的资料,看了有用。不过我的好像不能用参数什么避免。
小大飞 2013-12-23
  • 打赏
  • 举报
回复
引用 11 楼 diaodiaop 的回复:
没事的...别担心,很多人都这么用..
什么意思,那我也得检查呀。
by_封爱 2013-12-20
  • 打赏
  • 举报
回复
没事的...别担心,很多人都这么用..
t101lian 2013-12-20
  • 打赏
  • 举报
回复
看看这里 http://www.cnblogs.com/JosephChen/archive/2010/11/06/1870833.html 你还发过同样的贴对吧?
ltcszk 2013-12-18
  • 打赏
  • 举报
回复
引用 4 楼 tong386166552 的回复:
恩我是新手,感觉你这样是正确的。 那我应该怎么样,在哪里过滤富文本编辑器的非法输入呢?
你先要搞清楚什么是危险字符,为什么会有危险? 如果你认为<br/><i><img><strong>这些都会对你网站产生危险的话,那么你就不应该用富文本编辑器,因为它就是用来生成这些tag的
Gomes 2013-12-18
  • 打赏
  • 举报
回复
在.aspx文件头中加入这句: <%@ Page validateRequest="false" %>
铁歌 2013-12-18
  • 打赏
  • 举报
回复
通过JS在提交前判断非法字符,存在则不能提交。。
  • 打赏
  • 举报
回复
前台输入前 进行编码 传到后台 某些字符 asp.net后台的安全机制会提示从客户端()中检测到有潜在危险的 我之前的处理方式是 1、先对用户前台输入进行编码 2、特殊字符串用指定字符替换、、
小大飞 2013-12-17
  • 打赏
  • 举报
回复
引用 3 楼 ltcszk 的回复:
[quote=引用 2 楼 tong386166552 的回复:] [quote=引用 1 楼 yuyanxing09 的回复:]
protected void Page_Error(object sender, EventArgs e)


{


Exception ex = Server.GetLastError();


if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)


{


HttpContext.Current.Response.Write("请输入合法的字符串【<a href=\"javascript:history.back(0);\">返回</a>】");


HttpContext.Current.Server.ClearError();


}


}
用这样的吧,你查的2种方法没有安全性。
------------------------------------- 我不能用这种方法,我的前台是富文本编辑器,肯定有所谓的“非法字符”比如<br/><i><img><strong>等等,所以我不能不让他输入啊。[/quote] 这些都不要的话还用什么富文本编辑器?[/quote] 恩我是新手,感觉你这样是正确的。 那我应该怎么样,在哪里过滤富文本编辑器的非法输入呢?
ltcszk 2013-12-16
  • 打赏
  • 举报
回复
引用 2 楼 tong386166552 的回复:
[quote=引用 1 楼 yuyanxing09 的回复:]
protected void Page_Error(object sender, EventArgs e)


{


Exception ex = Server.GetLastError();


if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)


{


HttpContext.Current.Response.Write("请输入合法的字符串【<a href=\"javascript:history.back(0);\">返回</a>】");


HttpContext.Current.Server.ClearError();


}


}
用这样的吧,你查的2种方法没有安全性。
------------------------------------- 我不能用这种方法,我的前台是富文本编辑器,肯定有所谓的“非法字符”比如<br/><i><img><strong>等等,所以我不能不让他输入啊。[/quote] 这些都不要的话还用什么富文本编辑器?
小大飞 2013-12-16
  • 打赏
  • 举报
回复
引用 1 楼 yuyanxing09 的回复:
protected void Page_Error(object sender, EventArgs e)


{


Exception ex = Server.GetLastError();


if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)


{


HttpContext.Current.Response.Write("请输入合法的字符串【<a href=\"javascript:history.back(0);\">返回</a>】");


HttpContext.Current.Server.ClearError();


}


}
用这样的吧,你查的2种方法没有安全性。
------------------------------------- 我不能用这种方法,我的前台是富文本编辑器,肯定有所谓的“非法字符”比如<br/><i><img><strong>等等,所以我不能不让他输入啊。
耗子哭死猫 2013-12-16
  • 打赏
  • 举报
回复
protected void Page_Error(object sender, EventArgs e)


{


Exception ex = Server.GetLastError();


if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)


{


HttpContext.Current.Response.Write("请输入合法的字符串【<a href=\"javascript:history.back(0);\">返回</a>】");


HttpContext.Current.Server.ClearError();


}


}
用这样的吧,你查的2种方法没有安全性。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧