ASP网页设计ASP平安写进数据库操纵,一般读出并显现...
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。平安|数据|数据库|显现 好比说有styledesc这个字段,数据请求的是50位,char形,可不成以只限定他50位,别的的不限定,输出甚么字符都能够的.只需是char形,只需数据库同意就行如许,平安写进数据库操纵,一般读出并显现在分歧的场所,使用.
应当是如何做呢?
上面是我总结的几点.十分有大概不合错误,请斧正.
假如对用户的输出是能够恣意字符,(除某字段特定的输出限定前提,如输出长度,输出范例==).就是输出尽量不作限定.
对一字符串str,他输入的偏向有以下几种:
1.输入至HTML中,Functionfn_chk_to_html(Str)
2.输入至Script中(如javascript),Functionfn_chk_to_script(Str)
3.输入至sql语句中,并且这条SQL语句是用两个单引括起字符串Str的.
Functionfn_chk_to_sql_mark(Str)
4.输入至sql语句中,并且这条SQL语句是没有效单引括起Str的.Functionfn_chk_to_sql_go(Str)
5.输入至URL.Functionfn_chk_to_url(Str)
<%Functionfn_chk_to_html(Str)
如<inputtext="<%=request("styledesc")%>">的情形下
IfIsnull(Str)Then
ChkSql=""
ExitFunction
EndIf
Str=trim(Str)
Str=Replace(Str,Chr(0),"",1,-1,1)
Str=Replace(Str,"""",""",1,-1,1)
Str=Replace(Str,"","",1,-1,1)
Str=Replace(Str,"<","<",1,-1,1)
Str=Replace(Str,">",">",1,-1,1)
Str=Replace(Str,vbCrlf,"<br>",1,-1,1)
fn_chk_to_html=Str
EndFunction
%>
<%Functionfn_chk_to_script(Str)
如response.write"<script>alert("&request("styledesc")&");</script>"的情形下
IfIsnull(Str)Then
ChkSql=""
ExitFunction
EndIf
Str=trim(Str)
Str=Replace(Str,"","",1,-1,1)
Str=Replace(Str,"""","""",1,-1,1)
Str=Replace(Str,"","",1,-1,1)
Str=Replace(Str,Chr(13),"
",1,-1,1)
fn_chk_to_script=Str
EndFunction
%>
<%
Functionfn_chk_to_sql_mark(Str)
如sql="select*fromstylewherestyledesclike"&request("styledesc")&""的情形下
IfIsnull(Str)Then
ChkSql=""
ExitFunction
EndIf
Str=trim(Str)
Str=Replace(Str,"","",1,-1,1)
fn_chk_to_sql_mark=Str
EndFunction
%>
<%Functionfn_chk_to_sql_go(Str)
如sql="select*from"&request("table")的情形下.??
IfIsnull(Str)Then
ChkSql=""
ExitFunction
EndIf
Str=trim(Str)
Str=Replace(Str,Chr(0),"",1,-1,1)
Str=Replace(Str,"""",""",1,-1,1)
Str=Replace(Str,"","",1,-1,1)
Str=Replace(Str,"<","<",1,-1,1)
Str=Replace(Str,">",">",1,-1,1)
Str=Replace(Str,"[","[",1,-1,1)
Str=Replace(Str,"]","]",1,-1,1)
Str=Replace(Str,"","\",1,-1,1)
Str=Replace(Str,"*","*",1,-1,1)
Str=Replace(Str,"%","%",1,-1,1)
Str=Replace(Str,";",";",1,-1,1)
Str=Replace(Str,vbCrlf,"<br>",1,-1,1)
Str=Replace(Str,"--","--")
fn_chk_to_sql_go=Str
EndFunction
%>
<%Functionfn_chk_to_url(Str)
如str="<imgsrc=showimg.asp?id="&request("id")&">"的情形下
IfIsnull(Str)Then
ChkSql=""
ExitFunction
EndIf
Str=trim(Str)
Str=server.URLEncode(Str)
fn_chk_to_sql_mark=Str
EndFunction
%>
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
页:
[1]