日期:2014-05-20  浏览次数:20390 次

关于网页安全问题
我用在线编辑器编辑页面时,由于内容中含有html特殊字符,在.net中提交保存时,服务器会对内容自动进行验证.如果有html代码就会造成提交出错.我知道可以这样来解决 <pages   validateRequest= "false "   /> ,但是把validateRequest设置为false后,所有的页面数据提交服务器都不自动进行验证了,我想这样会存在一定的安全隐患.请问除了这个方法外,还有没有什么好的方法可以解决提交内容中有html标识的问题?

------解决方案--------------------
判断提交的内容
/// <summary>
/// 清除字符串中无用的字符
/// </summary>
/// <param name= "inputString "> 原始字符串 </param>
/// <returns> 清理后的字符串 </returns>
public static string CleanString(string inputString)
{
StringBuilder retVal = new StringBuilder();

if ((inputString != null) && (inputString != String.Empty))
{
inputString = inputString.Trim();


for (int i = 0; i < inputString.Length; i++)
{
switch (inputString[i])
{
case ' " ':
retVal.Append( "&quot; ");
break;
case ' < ':
retVal.Append( "&lt; ");
break;
case '> ':
retVal.Append( "&gt; ");
break;
default:
retVal.Append(inputString[i]);
break;
}
}

retVal.Replace( " ' ", " ");
}

return retVal.ToString();
}
------解决方案--------------------
单独为此页面设置validateRequest= "false "