仓酷云

标题: ASP网页编程之在了局中搜刮 [打印本页]

作者: 小妖女    时间: 2015-1-16 23:37
标题: ASP网页编程之在了局中搜刮
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;我们常常用GOOGLE来搜刮东东,也看到了它的在了局中搜刮的功效。

在论坛中曾有人问到,假如用ASP在搜刮了局中再次搜刮的成绩。

上面就是一个完全的办理计划。

计划思绪:

把搜刮的内容传送过去,两头用“,”号离隔,统计出搜刮的关头字,然后用sql语法的“and”毗连起来构成一个新的查询语句。

ASP代码,上面的代码不供应数据库下载,假如你要举行测试,能够新建一个ACCESS数据库,在内里新建一个“capital”字段就能够了。

代码:

<title>在了局中再搜刮</title>
<bodybgcolor="#FFFFFF">
<%
u_search=request.form("u_search")
u_prev_search=request.form("u_prev_search")
u_search_within=request.form("u_search_within")


ifu_search""then

ifu_prev_search=""then
u_prev_search=u_search
else

u_prev_search=u_prev_search&","&u_search
g_prev_search=split(u_prev_search,",")
num_inputted=ubound(g_prev_search)
endif

sql="select*fromstateswhere(capitallike%%"&u_search&"%%)"

ifu_search_within="Yes"then
forcounter=0tonum_inputted-1
sql=sql&"and(capitallike%%"&g_prev_search(counter)&"%%)"
next
endif

accessdb="state_info"
cn="DRIVER={MicrosoftAccessDriver(*.mdb)};"
cn=cn&"DBQ="&server.mappath(accessdb)

Setrs=Server.CreateObject("ADODB.Recordset")
rs.Opensql,cn
假如没有找到响应的信息
ifrs.eofthen
%>
没有任何纪录

<%有响应的信息就列出来
else
rs.movefirst
dowhileNotrs.eof
%>
<%=rs("capital")%><br>
<%
rs.movenext
loop
endif
endif
%>
<!--BeginFormInputArea-->
<formaction="<%=request.servervariables("script_name")%>"method="post">
<inputtype="text"name="u_search"value="<%=u_search%>">
<br>
<%
ifu_search""then%>
<inputtype="radio"name="u_search_within"checkedvalue="No">从头搜刮
<inputtype="radio"name="u_search_within"value="Yes">在了局中搜刮
<%
ifu_search_within="Yes"then%>
<inputtype="hidden"name="u_prev_search"value="<%=u_prev_search%>">
<%
else%>
<inputtype="hidden"name="u_prev_search"value="<%=u_search%>">
<%endif%>
<br>
<%endif%>
<inputtype="submit"value="搜刮">
</form>
<!--EndFormInputArea-->
<p></p>
<%=sql%>

</p>我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。
作者: 小魔女    时间: 2015-1-17 17:53
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
作者: 灵魂腐蚀    时间: 2015-1-20 23:50
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者: 仓酷云    时间: 2015-1-25 14:36
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
作者: 飘灵儿    时间: 2015-2-2 22:29
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
作者: 莫相离    时间: 2015-2-8 14:55
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
作者: 山那边是海    时间: 2015-2-25 19:14
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
作者: 再见西城    时间: 2015-3-8 01:24
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者: 金色的骷髅    时间: 2015-3-15 18:49
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
作者: 分手快乐    时间: 2015-3-22 03:07
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2