关于网页安全问题
我用在线编辑器编辑页面时,由于内容中含有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( "" ");
break;
case ' < ':
retVal.Append( "< ");
break;
case '> ':
retVal.Append( "> ");
break;
default:
retVal.Append(inputString[i]);
break;
}
}
retVal.Replace( " ' ", " ");
}
return retVal.ToString();
}
------解决方案--------------------单独为此页面设置validateRequest= "false "