从客户端()中检测到有潜在危险的 Request.Form 值——前台如何编码——后台如何替换
我的网页前台提供一个富文本编辑器,允许用户从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请求,还是理解不够,不知道如何下手。
求高手指教下,给说说怎弄? --------------------编程问答--------------------
protected void Page_Error(object sender, EventArgs e)用这样的吧,你查的2种方法没有安全性。 --------------------编程问答--------------------
{
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();
}
}
-------------------------------------
我不能用这种方法,我的前台是富文本编辑器,肯定有所谓的“非法字符”比如<br/><i><img><strong>等等,所以我不能不让他输入啊。 --------------------编程问答--------------------
这些都不要的话还用什么富文本编辑器? --------------------编程问答--------------------
protected void Page_Error(object sender, EventArgs e)用这样的吧,你查的2种方法没有安全性。
{
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();
}
}
-------------------------------------
我不能用这种方法,我的前台是富文本编辑器,肯定有所谓的“非法字符”比如<br/><i><img><strong>等等,所以我不能不让他输入啊。
这些都不要的话还用什么富文本编辑器?
恩我是新手,感觉你这样是正确的。
那我应该怎么样,在哪里过滤富文本编辑器的非法输入呢? --------------------编程问答-------------------- 前台输入前 进行编码 传到后台 某些字符 asp.net后台的安全机制会提示从客户端()中检测到有潜在危险的
我之前的处理方式是 1、先对用户前台输入进行编码 2、特殊字符串用指定字符替换、、 --------------------编程问答-------------------- 通过JS在提交前判断非法字符,存在则不能提交。。 --------------------编程问答-------------------- 在.aspx文件头中加入这句:
<%@ Page validateRequest="false" %> --------------------编程问答--------------------
恩我是新手,感觉你这样是正确的。
那我应该怎么样,在哪里过滤富文本编辑器的非法输入呢?
你先要搞清楚什么是危险字符,为什么会有危险?
如果你认为<br/><i><img><strong>这些都会对你网站产生危险的话,那么你就不应该用富文本编辑器,因为它就是用来生成这些tag的 --------------------编程问答-------------------- 看看这里 http://www.cnblogs.com/JosephChen/archive/2010/11/06/1870833.html
你还发过同样的贴对吧? --------------------编程问答-------------------- http://bbs.csdn.net/topics/390671602?page=1#post-396390639 --------------------编程问答-------------------- 没事的...别担心,很多人都这么用.. --------------------编程问答--------------------
没事的...别担心,很多人都这么用..
什么意思,那我也得检查呀。 --------------------编程问答--------------------
看看这里 http://www.cnblogs.com/JosephChen/archive/2010/11/06/1870833.html
你还发过同样的贴对吧?
恩,是的。
谢谢你,这么热心。万分感谢。
你给的资料,看了有用。不过我的好像不能用参数什么避免。
补充:.NET技术 , ASP.NET