⑴ 如何找到ASP网站源代码
由于ASP程序是在服务器上运行的, 如果你想得到某网站的源代码,只有以下办法:1.找写代码的人要2.知道网站所在FTP空间的用户名和密码3.网站有漏洞的话,拿到网站的webshell
⑵ 如何实现asp.net网站内部整站搜索功能
如果是简单的内容管理系统,在数据库设计上进行一定处理,所有的内容都是在文章表中的话,搜索的时候,直接通过数据库中的这张表进行搜索即可,但是如果是多个内容表载体的话,那就需要建立一个有关所有内容的搜索表,包含标题、关键字、内容和访问路径,类似于搜索引擎的那种,搜索的时候,通过这种方法实现搜索,而这张表中的内容,可以通过信息发布的时候控制也可以使用爬虫技术,来获取整个网站内容,进行存储。看系统的设计了。
⑶ 我是ASP新手,请问怎样实现站内搜索啊,
对于初学的话,实际上ASP和ASP.NET不会差太多,而且ASP比较简单,学好ASP后转ASP.NET会很轻松的.分页功能上网找一下你就明白了.
基于ASP的站内多值搜索
运行环境:IIS
脚本语言:VBScript
数据库:Access/SQL Server
数据库语言:SQL
1.概要:
不论是在论坛,还是新闻系统,或是下载系统等动态网站中,大家经常会看到搜索功能:搜索帖子,搜索用户,搜索软件(总之搜索关键字)等,本文则是介绍如何建立一个高效实用的,基于ASP的站内多值搜索。
本文面对的是“多条件模糊匹配搜索”,理解了多条件的,单一条件搜索也不过小菜一碟了。一般来讲,有两种方法进行多条件搜索:枚举法和递进法。搜索条件不太多时(n<=3),可使用枚举法,其语句频度为2的n次方,成指数增长,n为条件数。很明显,当条件增多以后,无论从程序的效率还是可实现性考虑都应采用递进法,其语句频度为n,成线性增长。需要指出的是,枚举法思路非常简单,一一判断条件是否为空,再按非空条件搜索,同时可以利用真值表技术来对付条件极多的情况(相信没人去干这种事,4条件时就已经要写16组语句了);递进法的思想方法较为巧妙,重在理解,其巧就巧在一是使用了标志位(flag),二是妙用SQL中字符串连接符&。下面以实例来讲解引擎的建立。
2.实例:
我们建立一通讯录查询引擎,数据库名为addressbook.mdb,表名为address,字段如下:
ID Name Tel School
1 张 三 33333333 电子科技大学计算机系
2 李 四 44444444 四川大学生物系
3 王 二 22222222 西南交通大学建筑系
… … … …
Web搜索界面如下:
姓名: 电话: 学校: 搜索按钮
采用枚举法的源程序如下:
<%@ CODEPAGE = "936" %>
'连接数据库
<%
dim conn
dim DBOath
dim rs
dim sql
Set conn=Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("addressbook.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set rs=Server.CreateObject("ADODB.Recordset")
'从Web页获取姓名、电话、学校的值
dim Name
dim Tel
dim School
Name=request("Name")
Tel=request("Tel")
School=request("School")
'枚举法的搜索核心,因为有3个条件所以要写8组If判断语句
if trim(Name)="" and trim(Tel)="" and trim(School)="" then
sql="select * from address order by ID asc"
end if
if trim(Name)="" and trim(Tel)="" and trim(School)<>"" then
sql="select * from address where School like '%"&trim(School)&"%' order by ID asc"
end if
if trim(Name)="" and trim(Tel)<>"" and trim(School)="" then
sql="select * from address where Tel like '%"&trim(Tel)&"%' order by ID asc"
end if
if trim(Name)="" and trim(Tel)<>"" and trim(School)<>"" then
sql="select * from address where Tel like '%"&trim(Tel)&"%' and School like '%"&trim(School)&"%' order by ID asc"
end if
if trim(Name)<>"" and trim(Tel)="" and trim(School)="" then
sql="select * from address where Name like '%"&trim(Name)&"%' order by ID asc"
end if
if trim(Name)<>"" and trim(Tel)="" and trim(School)<>"" then
sql="select * from address where Name like '%"&trim(Name)&"%' and School like '%"&trim(School)&"%' order by ID asc"
end if
if trim(Name)<>"" and trim(Tel)<>"" and trim(School)="" then
sql="select * from address where Name like '%"&trim(Name)&"%' and Tel like '%"&trim(Tel)&"%' order by ID asc"
end if
if trim(Name)<>"" and trim(Tel)<>"" and trim(School)<>"" then
sql="select * from address where Name like '%"&trim(Name)&"%' and Tel like '%"&trim(Tel)&"%' and School like '%"&trim(School)&"%' order by ID asc"
end if
rs.open sql,conn,1,1
'显示搜索结果
if rs.eof and rs.bof then
response.write "目前通讯录中没有记录"
else
do while not rs.eof
response.write "姓名:"&rs("Name")&"电话:"&rs("Tel")&"学校:"&rs("School")&"<br>"
rs.movenext
loop
end if
'断开数据库
set rs=nothing
conn.close
set conn=nothing
%>
理解上述程序时,着重琢磨核心部分,8组语句一一对应了3个搜索框中的8种状态
Name Tel School
空 空 空
空 空 非空
空 非空 空
空 非空 非空
非空 空 空
非空 空 非空
非空 非空 空
非空 非空 非空
另外trim()是VB的函数,将输入的字符串前后的空格去掉;%是SQL语言中的多字符通配符(_是单字符通配符),由此可见%"&trim()&"%对搜索框中输入的关键字是分别向左向右匹配的;SQL语言中用and连接说明非空条件之间是“与”关系。
再来看看递进法,与枚举法相比它们只有核心部分不同:
'递进法的搜索核心,依次判断条件为空否,非空则将其加入搜索条件
sql="select * from address where"
if Name<>"" then
sql=sql&" Name like '%"&Name&"%' "
flag=1
end if
if Tel<>"" and flag=1 then
sql=sql&" and Tel like '%"&Tel&"%'"
flag=1
elseif Tel<>"" then
sql=sql&" Tel like '%"&Tel&"%'"
flag=1
end if
if Company<>"" and flag=1 then
sql=sql&" and Company like '%"&Company&"%'"
flag=1
elseif Company <>"" then
sql=sql&" Company like '%"&Company&"%'"
flag=1
end if
if flag=0 then
sql="select * from address order by ID asc"
end if
rs.open sql,conn,1,1
递进法是一个明智的算法,单从语句的长短就可以看出来了。这个算法的难点和精髓就在flag和&上。首先你应该清楚&在SQL中就是一个字符串连接符,把该符号左右的字符拼接在一起。再回到程序,当Name不为空时sql="select * from address where Name like '%"&Name&"%' "同时flag=1;接下来当Name不为空时且Tel不为空时,即Tel<>"" and flag=1时,sql="select * from address where Name like '%"&Name&"%' and Tel like '%"&Tel&"%' "同时flag=1,否则当Name为空Tel不为空,sql="select * from address where Tel like '%"&Tel&"%' "同时flag=1;以此类推就可以推广到n个条件的搜索。当然条件皆为空时,即flag=0将选择所有表中所有项。
3.验证:
至此,一个搜索引擎就建立起来了。以下是一些使用示例:
姓名:张 电话: 学校: 搜索按钮
搜索结果为:
姓名: 张三 电话:33333333 单位:电子科技大学计算机系
姓名: 电话: 学校:大学 搜索按钮
搜索结果为:
姓名:张三 电话:33333333 单位:电子科技大学计算机系
姓名 李 四 电话:44444444 单位:四川大学生物系
姓名:王二 电话:22222222 单位:西南交通大学建筑系
姓名: 电话:4444 学校:四川 搜索按钮
搜索结果为:
姓名 李 四 电话:44444444 单位:四川大学生物系
姓名: 电话: 学校:交%大 搜索按钮
搜索结果为:
姓名:王二 电话:22222222 单位:西南交通大学建筑系
4.改进:
其实这个引擎还有些缺陷,问题主要在于通配符%。一方面是因为人们平时习惯把*作为通配符,另一方面%若出现在超链接中,通过request获取时%将被“吃”掉,如下:
--test.htm--
…
<a href=test.asp?content=test%the%sign>click here</a>
…
--test.asp--
<%
content=request(“content”)
response.write content
%>
在IE中浏览test.htm时点击超链接,显示为:
testthesign
可见%直接被超链接忽略掉了。怎么才能解决这个问题呢?很简单,我们做点小小的手脚--偷梁换柱。
将以下代码加在搜索核心之前:
Name=replace(Name,"*","%")
Tel=replace(Tel,"*","%")
Company=replace(Company,"*","%")
将以下代码加在搜索核心之后:
Name=replace(Name,"%","*")
Tel=replace(Tel,"%","*")
Company=replace(Company,"%","*")
在我们来分析一下这些语句。replace()是VB中字符串替换函数,replace(Name,"*","%") 就是将Name中所有的*换成%。也就是说,我们把3个条件中凡是出现的*都替换为%,这样一来前3句就将通配符改成*了。而后3句就可以防止%被“吃”掉。所有问题就迎刃而解了吧。
姓名: 电话: 学校:交%大 搜索按钮
搜索结果为:
姓名:王 二 电话:22222222 单位:西南交通大学建筑系
将上面的语句再改一改,把*用空格代替,不就成了我们在Google、BaiDu中常用的用空格来分开搜索条件的搜索引擎了吗?
⑷ 在asp.net网页中怎么实现搜索
没搜索之前 就是一般的datalist控件绑定 既在Page_Load()里面写下绑定datalist的方法:Datalist_Bind(); 然后在
void Datalist(){
string sql = "select * from user where 条件";
DataTable dt = 数据库对象.RunDatable(sql); //执行sql成DataTable
//绑定Datalist
datalist.source = dt;
datalist.DataBind();
}
利用textBox做条件索引 就是跟上面的一样 就是把sql语句的条件那个改成 where 字段='textBox.Text'; 其他的都一样的
注意的一点就是 由于你是用的服务端控件,所以你点击查询都会引发页面回溯
所以你调用绑定函数的时候要放在if(!IsPostBack){这里面}
⑸ asp搜索怎么做
先做个表单,让使用者输入关键字,把此表单提交给另一个处理数据的asp页面,在这个页面按条件查询和显示结果。
以下是我用ASP VBscript写过的一点代码,供参考。
<form class="form" id="formsearch" name="formformsearch" method="post" action="searchresult.asp">
Search
<input type="text" name="search" size="18" tabindex="1" onMouseOver="this.focus()">
<input type="submit" value="Go" name="CmdFun" tabindex="2">
</form>
这一段是表单,提交给searchresult.asp
下面是获取关键字,然后按关键字查询记录集:
<Dim keyword
keyword=trim(request.Form("search"))
if keyword="" then
response.Redirect("search.asp")
end if
set rs=server.CreateObject("adodb.recordset")
'rs.pagesize=8
sqlstr3="select * from procts where model like '%"& keyword &"%' or name like '%"& keyword &"%' "
rs.open sqlstr3, conn, 1, 3
if rs.recordcount=0 then
response.Redirect("searchno.asp")
else
rs.movefirst
end if>
查询出来之后,怎么显示不用说了吧,哈哈。
⑹ ASP 网页实现页面搜索
这里给你一段默认为网络搜索的ASP代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<%
if request.Form("content")="" then
response.Write("<script>alert('搜索内容不能为空!');history.go(-1);</script>")
else
response.Redirect "http://www..com/s?wd="&request.Form("content")
end if
%>
</head>
<body>
<form name="form1" method="post" action="">
<input name="content" type="text" id="content">
<input type="submit" name="Submit" value="默认为网络搜索">
</form>
</body>
</html>
⑺ 我在电脑上用ASP做了一个网站,我想让它能在网络上搜索出来,都得怎么弄啊,具体步骤是什么
虚拟主机和虚拟空间是一回事
你要让你的网站,在网络上搜索得出来,那么你首先要将你的网站发布到互联网啊
其实,你就是发布到互联网也不一定能搜索出来,
如果你一发布就能被搜索到,那你就是一个高手,在这行混,你至少年薪能达50万。。。。
呵呵呵呵
⑻ ASP页面和HTM页面应该怎么让搜索引擎找到
一般静态网页比动态的网页被收录的几率高,当然网页被收录不光靠这一个方面,这里只是针对搂主说的动态和静态的对比。
同样的htm比asp收录来得快,你在随便搜索个问题看看,提供基本都是htm网页,这就是原因拉。
不过网站被收录与否跟动态或静态关系不大。但相对而言,静态的页面更容易被收录。
一、你的网站已经被google收录了;可以通过site:domain.com的方法查询
二、网络还没有收录;
方法如下:
1.增加站外链接,就是多找质量高的相关性强的网站交换链接;
2.保证服务器的稳定运行;再过一段时间就效果了。
参考资料:http://www.mxyuan.com/bbs/
⑼ 简单ASP站内搜索
<form name="form1" action="resul.asp">
<input name="name" type="text" id="name">
<input type="submit" name="Submit" value="搜索">
</form>
第二个页面resul.asp
<% '连接数据
dim connstr
connstr="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("ASP.mdb")
set conn = server.createobject("ADODB.Connection")
conn.open connstr
%>
<%
dim rs,sql,name
name=request.Form("name")
set rs=server.CreateObject("adodb.recordset")
sql="select * from ASP where 姓名 like '%"&name&"%'"
rs.open sql,conn,1,1
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
查询结果
<%
if rs.eof or rs.bof then
%><br>暂无姓名<%
else
%>
<%= rs("姓名") %>
<%
end if
%>
</body>
</html>
就这样
⑽ 如何找到ASP网站后台地址啊
通常来说网站管理地址是网站程序的一个目录,这个目录不是固定的,如果说我的网站管理地址目录是admin 那么我可以通过网站域名加上/admin 就可以访问网站管理后台地址,网站后台路径可以任意设置的,除非你知道管理后台的目录,没有其他的好办法!