我第一次做用asp.net做系统(blog),win2k pro+ vs.net。我的程序在我的机器上完全没用问题。自己架的iss让外网的朋友访问也没有问题。但是,我把程序放到我的服务器上面问题就来了。具体是这样的:有的后台有个日至发布系统,就项csdn发表问题一样,就个标题,有个内容匡,当点几确定按钮后他多行文本输入匡内的内容存储到数据库。很简单。但是。当我输入<script>alert('hi')</script>这样的带嘛的时候不能提交,会出现错误。没办法,朋友给了我个函数
public string MyEncode(string str)
{
str = str.Replace("&","&amp;");
str = str.Replace("'","''");
str = str.Replace("\"","&quot;");
str = str.Replace(" ","&nbsp;");
str = str.Replace("<","&lt;");
str = str.Replace(">","&gt;");
str = str.Replace("\n","<br>");
return str;
}
头提交前我线把特殊字符都转意了(但是我看别人的数据库内的字段不存在这种情况(没有转意字符))。然后再显示的时候我在给返过来。我先前显示的时候用的也是一个多行文本匡。在本地没有问题,但是放到服务器上,多连接几个(点击相应的标题,显示相应的内容)就报错了。说<form>里面的数据不安全(主要针对的是那个用作显示的多行文本匡,因为有提示)。后来我就尝试着用别的方法,我用一个string变量来接受从数据库读取的数据。在aspx页面中这样显示的<%=Main_Text%>。在本地,完全没有问题,但是,放到服务器上面页面都显示不出来了,说<%=Main_Text%>根本不合法,不知道是为什么啊?为什么买本地就没有问题呢?但是内容要在div中显示,,后来我就尝试着在cs文件中用Response.write()显示内容(读取的字段,以及输出div),本地没有问题,放到服务器上再一次报错了我很不理解,这是为什么?到底是那里错了?我应该怎么做?我所有的努力在本地都没有问题,但放到服务器上就出错?帮我一下,,谢谢。。