|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
源代码保护方面其实现在考虑得没那么多了..NET也可以反编译.ASP写得复杂的话别人能看得懂的话.他也有能力自己写了.这方面担心的倒不太多.纵观现在网上可以下载的那些所谓BBS还有什么网站等等的源代码流量|统计|流量|统计在今朝的网站统计体系决年夜部分都是CGI的,但编写起来出格庞大,而ASP学起来复杂,更有和数据库分离的长处,以是分离本人已经做过的网站统计体系,和人人切磋一下ASP编写网站统计体系。
人人都看过网易的网站统计体系,它能够统计总会见量,逐日均匀会见量,当日会见量,最高会见量,最高会见日期,日流量剖析,月流量剖析,周流量剖析,扫瞄器剖析,等等。
实在要做一个ASP的会见统计体系关头是体系表布局的计划。和怎样来收罗用户的CGI变量,怎样来显现用户的信息。也就是说体系的关头是两个ASP程序,统计程序和显现程序。
起首我们先看看怎样来收罗用户的会见信息。
我们编写会见统计必要晓得用户的以下信息,会见者的IP(依据会见IP能够构成会见者IP列表),会见者的扫瞄器与操纵体系(统计会见者的扫瞄器与操纵体系及一切会见者扫瞄器与操纵体系比例图),会见者的会见工夫(举行日会见量剖析,月会见量剖析,周会见量剖析),上面我们来看看用ASP的取得以上信息的语句:
1、取得会见者IP
DimM_IP
M_IP=Request.Servervariables("REMOTE_HOST")
用下面的语句能够获得会见者的IP。
2、取得扫瞄器信息
DimO_Browser,M_BrowserType
SetO_Browser=Server.Createobject("MSWC.BrowserType")
M_BrowserType=O_Browser.Browser+O_Browser.Version
3、取得会见工夫
DimM_DateTime
M_DateTime=Year(Date())&"/"&Right("0"&Month(Date()),2)&"/"Right("0"&Day(Date()),2)&"/"&Right("0"&Hour(Time()),2)&":"&Right("0"&Minute(Time()),2)&":"&Right("0"&Second(Time()),2)
4、获得用户的操纵体系。
在ASP中利用以下语句能够失掉会见者的http_user_agent字符串。
DimStrUserAgent
StrUserAgent=Request.ServerVariables("HTTP_USER_AGENT")
这个字符串通常为以下格局:
Mozilla/4.0(compatible;MSIE4.01;Windows98)
下面的字符串能够申明会见者利用的操纵体系是Windows98,扫瞄器是MSIE4.01,可是这个字符串格局不流动,并且能够本人变动。
寻常我们所见的别的一些次要的UserAgent字符串以下:
利用IE的扫瞄器:
Mozilla/2.0(compatible;MSIE3.01;Windows95)
Mozilla/4.0(compatible;MSIE4.0;Windows95);
Mozilla/4.0(compatible;MSIE4.01;Windows98)
Mozilla/4.0(compatible;MSIE5.0;Windows98);
Mozilla/4.0(compatible;MSIE5.0b2;WindowsNT)
利用NetScape的扫瞄器:
Mozilla/4.03〔en〕(Win95;I)
Mozilla/4.08〔en〕(WinNT;U;Nav)
Mozilla/4.5〔en〕(WinNT;U)
Mozilla/3.04Gold(Win95;I)
利用Opera的扫瞄器:
Mozilla/4.0(compatible;Opera/3.0;Windows95)3.50b10
FrontPage编纂器:
Mozilla/2.0(compatible;MSFrontPage3.0)
利用Sun操纵体系:
Mozilla/3.01Gold(X11;I;SunOS5.7i86pc)
利用PowerPc的Mac机:
Mozilla/4.0(compatible;MSIE4.5;Mac_PowerPC)
经由过程剖析以上字符串,我们能够找出纪律,编写一个子程序来判别会见者用的是何种操纵体系,又因为用ASP中的判别扫瞄器范例的控件必要更新Browser.ini文件,以是我们能够分离这个字符串来判别扫瞄器属性。
我们以甚么样的体例来统计网站呢?
我们可让用户在他的主页上到场以下语句:
<ahref="http://www.abc.com/viewer.asp?userid=username"><imgsrc="http://www.abc.com/counter.asp?userid=username"></a>下面的userid是详细哪个用户,要注重用户和会见者不是一个观点。
经由过程下面的字符串我们就能够收罗用户的会见数据,并给用户供应寓目数据的链接。在我们看加有网易的统计体系的页面时会发明它会前往给用户一个图标,我们就能够在counter.asp中完成这个功效。
到场:response.redirect"http://www.abc.com/abc.gif"
这个语句我们能够加在统计数据收罗后前往给用户。
怎样计划数据表布局?
计划表布局是一项极为主要的事情,它的公道与否与程序的体例严密相干。
一个网站统计体系应当有一个用户表,统计值表。
这个用户表也就是保存注册用户信息的表,统计值表就是纪录用户的每项统计目标值的表。在统计值的表中我们能够指定用户的统计目标,我们可把每个目标用一个ID值来暗示,这里我们复杂举例。
用户表:
TableName:regist_table
Fieldtype
usernameC用户名
passwordC暗码
regdateC注册工夫
值表:
TableName:value_table
Fieldtype
usernamec用户名
idc统计目标ID
valuei
datetimec统计目标的值
Id列表:
TableName:id_table
Fieldtype
idC统计目标ID
idvalueC统计目标的申明
有了这三个表我们就能够入手下手做了。
如我们能够指定以下ID
ididvalue
101总会见量
2011日会见量
2022日会见量
::
::
23131日会见量
要想对用户入手下手统计我们必需得先让用户注册,用户利用的流程以下:
填注册表->初始用户的value表(把对应的ID到场)->把注册信息反应给用户->用户在本人的页面上到场链接->入手下手统计
能收罗数据我们都能采到了,那末我们就入手下手体例ASP的统计页面。
这一页我们叫计数页,counter.asp
这段asp代码我们必要让它按以下的流程举行收罗数据并保留数据和更新数据:
收罗用户名,判别用户名是不是正当,收罗会见者的信息,对信息举行加工,举行保留和更新数据库,前往logo图标。
挪用这个ASP用counter.asp?user=abc这个体例。
收罗用户名我们能够用Request工具的响应办法获得,然后反省用户表判别用户是不是正当,然后失信息,用我们下面讲到的获得响应信息的办法获得信息,然落后行加工保留在数据内外,但最主要的是怎样对数据举行更新,如当日每小时会见统计数,当天每小时统计数等,我们怎样对天天的数据举行更新是这个程式的要点,我们能够接纳几种体例,如对天天的每一个小时的纪录的更新我们接纳在天天半夜12点更新,对每个月的每天的数据我们在月份切换的那一天举行更新。
上面我讲一下详细的流程,以月份统计举例:
1,得出上一次的统计的日期工夫
2,得出以后的日期工夫,以后月份并转化成响应的ID
3,判别以后月份与上一次月份是不是不异,假如不异则给总数加1,以后月的ID累加1,如不不异则清零一切月份ID,只给总数ID加1
4,依据月份统计我们能够做一下小时统计,周统计,天统计。
按如上的流程我们就能够做统计页了,要注重每一个ID的分派要分类明白代表的寄义要了了。
</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|