公告板
安徽电信nod32升级服务器
服务器地址:http://eset.corbie.com.cn
本站重新开放注册,大家赶快下有用的资源....
nod32服务器升级即时信息统计系统地址:http://corbie.9966.org
客户端下载地址: http://www.corbie.com.cn/nod32.rar
预览模式: 普通 | 列表

提供传奇世界服务器程序下载(脚本完善版)

喜欢传奇世界的朋友可以下载下来看看

还没有完善摆摊的功能

下载地址:http://www.bly1314.com/tupian/m5.rar

今日提供SQL版在线影院程序(商业版)

这套程序是我以前从别人服务器上黑下来的,总体感觉很不错,他们对外出售是8000RMB.

配置说明:

1.建立SQL数据库,将数据库文件夹里面的文件导入到SQL数据库,并生成表。

2.配置conf.asp里面的SQL数据库地址,用户名,密码以及数据库名.

这个程序的后台管理权限我忘记了,大家可以找找看.

SQL商业版在线影院程序下载:http://www.bly1314.com/tupian/movie.rar

提供金庸传奇5.0商业版下载(无限制)

版本说明:

客户端方面:

1、增加了29种韩国及传世最新怪物
2、增加了8种翅膀
3、增加了26张最新地图
4、增加了最新武器(游龙宝刀)
5、增加了传世最新衣服
6、增加了12衣服效果(火环、闪电、光环、火龙等各种特效)
7、增加了10个兵马佣地图
8、增加了地狱系统地图
9、增加了会员专用升级和用会员币升级的疯狂升级地图
10、用普通可开外挂的登陆器即可显示所有效果包括四格、衣服特效、传世魔法、翅膀等各种效果

服务端方面:

1、美化了所有的NPC对话

2、上线等级更新为35级,发祖玛一套

3、玩家可升级到120级!

4、玩家装备一共有24套!
  分别为:45级三套、52有三套、60级三套、68级三套、75级三套、82级三套、100级三套、120级三套

5、会员装备一共有5套:55一套、70级一套、85级一套、100级一套、120级一套

6、取消了以前的杂装备,让装备更新整洁

7、取消了盛大中多余的地图,如:幻境、魔境、圣域等占资源的地图

8、增加了 神冰护体、火焰防护、天使之翼、灵魂之翼、神圣之翼、魔法之翼、死神之翼、圣火防护、凤凰
         蓝色神龙、绿色神龙、彩色神龙、闪电神龙、神龙护体、火魔护体、神龙之翼、精灵之翼、火防
         冰龙、七彩之翼、罪恶之翼共21种衣服特效及天使之翼!让你的私服五彩缤纷

9、重新调整了会员装备在线销售系统,在线销售的种类为:会员套装、单件装备、特殊戒指、勋章装备等等

10、在杂货店中装备了各种消费品:如双倍经验卡、会员计时卡、传音喇叭、会员证、移动仓库等等,这种消费价格不高玩家容易接受

  计时会员卡:双击此卡后会增加200小时的会员时间并且有会员资格
  会  员  证:使用此会员证可以成为永久会员,没有时间限制
  双倍经验卡:双击此卡后将会有1小时双倍经验,以提供杀怪的经验
  双倍威力卡:双击此卡后将会有1小时的双倍攻击时间,增强你威力
  传 音 喇叭:双击后可向全服人员发一次红字,显示你的魅力
  移 动 仓库:双击后可在任何地方、任何时间保管或取出你的物品

11、将盛大版本中的养虎为患功能成功移植到变态5版中,将命为养蛇 分别是:蛇、毒蛇、响尾蛇、七花蛇、银镜蛇、蟒蛇、巨型蟒蛇

12、成功加入闯地狱系统,与盛大里的闯天关有着非同一般的感觉,具体运行如下:
   1)、每个星期天的24小时的第1-10分钟花5万传奇币可进入地狱,等级不限
   2)、地狱共分为10关,在这10关里包含了整个服务器的60%的装备在里面爆出
   3)、每关都有一个首领,只要杀死首领即可进入下一关。
   4)、当你进入第九关的时候,并将首领杀死的即马上进入第十关(火拼地狱)
   5)、第十关就是1-9关的各个首领,每个首领身上都带有好装备,只要能打完这9个首领即圆满通关

  闯地狱时需要注意:
                 1)、进入的地狱的时间是每小时的第1-10分钟内,进入的人数不限
                 2)、必须在1小时内闯完这10关,否则当下一个小时开始的时候将结束你现在的闯关进程
                    举例:比如现在有20个人在13:59分的时候才闯到第7关,当14:00的时候只有又从第一关开始闯
                 3)、只有星期天才会开放地狱系统!每1小时一次!24小时共24次!
13、原4.0的金庸任务保持不变

14、将沙城改为魔教、将增加了武当、少林二个地图,沙城从原来的一个,升级为现在的三个:魔教、武当、少林

15、刷怪及爆率重新设定,共分为24个区域爆出24套装备,避免了装备乱爆造成玩家不知道在哪打装备的局面,并在游戏中做了详细说明

16、在土城增加了万能出售员、购买员、特殊修理员来方便玩家!

17、增加了装备绑定系统,使用绑定证明即可绑定任何装备

18、简化以前的结婚生子功能!增加生子符!

19、增加了上线给管理员的信,以方便让玩家管理员对他的重视,并且可以让他简略的知道此游戏的情况

20、增加了6种新特殊戒指

  疯狂戒指:具有麻痹和复活功能的双重效果
  飘影戒指:具有传送和护身功能的双重效果
  不死戒指:具有麻痹和护身功能的双重效果
  天使戒指:具有在人物死亡时不掉任何装备功能
  破麻神戒:具有使对方的麻痹功能失效的作用,对怪物不起效
  破身神戒:具有破除对方的护身效果功能,直接掉血

内含经典的传奇登陆器制作工具,以后我会陆续放上最新最好的版本。

下载地址:http://www.bly1314.com/tupian/JYV5server.rar

专攻 *nix!!

windows已经玩了几年了,准备从今天起专攻*nix。

Windows下通过xmanager远程桌面控制Linux

有两种方法可以实现远程管理Linux桌面窗口,其中一个就是是我们所选择的X显示管理器(X display manager)或者说xdm,另一个流行的解决方案是vnc。我选择xdm而不是vnc出于两点原因。第一,vnc要有个服务端的守护进程,为每个共享的桌面运行。第二,我已经有X服务器的软件安装在所有的工作站上,不想再添加额外的客户端软件了。

我们先来了解一些X系统方面的知识,X是用在大多数UNIX系统中的图形支持系统。如果你在你的Linux机器上使用GNOME或者KDE的话,你就正在使用X系统。它由X联盟(www.X.org)定义并维护。大多数的Linux用户使用的都是由XFree86 项目 (www.xfree86.org)提供的X Window系统的实现。xdm 是一个显示管理器,提供了灵活的任务管理功能。然而xdm通常被认为是“GUI的登陆屏幕,可以自动启动我的X任务”,我们会看到实际上它要更为强大。

  xdm 使用X联盟的X显示管理控制协议,即XDMCP,来和X服务器通信。它允许X服务器从运行xdm服务的服务器上获得会话服务。

  当使用xdm管理这些X任务的时候在设置上有些复杂。但设置xdm 可以得到本地的和其他服务器上的桌面了。我们下面将介绍服务器上配置xdm的方法和步骤,这里描述的配置允许任何的 XDMCP 客户访问 Linux 服务器桌面环境(当然了影响了X的安全)。

  第一步,我们在Linux系统下,修改/etc/X11/xdm/Xaccess文件,找到下面的语句:# * #any  host  can  get  a  login  window

 
去掉最前面的#号,成为

  
第二步,我们修改/etc/X11/gdm/gdm.conf文件,找到下面的语句:

 
  将其中的Enable=false 改为Enable=true 或 Enable=1。
  同时我们要确保存在下面的语句,因为177端口是我们要配置的xdmcp服务的监听端口,我们在后面配置xmanager将看到。

 
   第三步,我们要修改/etc/inittab文件,将下面的语句

 
  改为如下,如果原来就是id:5:initdefault:就不用更改。

 
  同时,找到如下图文字所在的地方,

 
  将它修改为x:5:respawn:/usr/bin/gdm,即如下图所示,

 
   第四步,我们修改/etc/X11/xdm/xdm-config的最后一行,在displayManager.requestPort:0前面加上一个!号,结果如下

 
  第五步,我们修改确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755,在RedHat 9.0中,我们可以看到这两个文件默认的属性就是444和775,因此不用修改。
 

   最后,如果我们的Linux机器配置有防火墙,为防止防火墙将通过177端口(即xdmcp服务)的数据过虑,我们必须加上如下的规则:
   iptables  -A  INPUT  -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT
 
至此为止,我们在Linux下的配置xdm已经基本完成。但上面这些配置还只是x服务器端的配置,我们要想实现在Windows远程桌面控制Linux,还必须要
有Windows下的客户端工具,xmanager正是这样的一个工具,它是一个简单易用的高性能的运行在Windows平台上的 X Server 软件。我们现在来介绍xmanager的在Windows下的安装和配置技巧,这里我使用的机器是windows xp。

我们先下载xmanager的安装文件,我下载的是xmanager1.3.9,安装后,在安装目录下,我们点击xconfig,选择xdm,如下图,选择”XDM Indirect”,在 host:后面填上我们已经配置好的Linux系统的ip,注意下面的XDMCP Port:177, 这就是我们在配置Linux服务器时必须保证 port=177的原因。

 
然后我们双击xmanager安装目录里的xmanager,出现下面的画面,

 
选择图中的linux机器,然后点击“连接”即可以连接到我们的redhat登陆桌面了。

 
输入用户名,确定后系统会提示让你输入密码,验证成功后就可以使用我们的redhat桌面了,效果如下:

 

无双传奇即将火暴开放!

我们开发小组做的无双传奇即将火暴开放。

一区=无双盛世 采用盛世8.0版本为核心的仿盛大版本     服务器IP:218.23.183.38(安徽电信)

二区=无双争霸 采用国战版本为核心的超级变态版本       服务器IP:218.15.38.28(广州电信)

三区=无双风云 采用盛世7.0版本为核心的中等变态版本  服务器IP:218.22.208.2(安徽电信)

四区=唯一传奇 采用仙剑正版为核心的的中等变态版本     服务器IP:222.223.135.20(北京电信)

定于2005年9月30日8时整开放一,二,三区,四区即将开放!

此为我们工作小组大力制作的传奇私服,精彩无限,震撼推出,欢迎爱好传奇的朋友光临。

网站地址:http://www.vs520.com

服务:

一区客服:387258006
二区客服:387258007
三区客服:387258008
会员投诉QQ:387258000
技术服务QQ:387258005
客服热线:0566-3199660
会员热线:013305660033
服务邮箱:service@vip.vs520.com
投诉邮箱:webmaster@vip.vs520.com

中文php.ini 服务器配置

[PHP] 
; PHP还是一个不断发展的工具,其功能还在不断地删减 
; 而php.ini的设置更改可以反映出相当的变化, 
; 在使用新的PHP版本前,研究一下php.ini会有好处的 

;;;;;;;;;;;;;;;;;;; 
; 关于这个文件 ; 
;;;;;;;;;;;;;;;;;;; 

; 这个文件控制了PHP许多方面的观点。为了让PHP读取这个文件,它必须被命名为 
; 'php.ini'。PHP 将在这些地方依次查找该文件:当前工作目录;环境变量PHPRC 
; 指明的路径;编译时指定的路径。 
; 在windows下,编译时的路径是Windows安装目录。 
; 在命令行模式下,php.ini的查找路径可以用 -c 参数替代。 

; 该文件的语法非常简单。空白字符和用分号';'开始的行被简单地忽略(就象你可能 
; 猜到的一样)。 章节标题(例如 : [Foo])也被简单地忽略,即使将来它们可能 
; 有某种的意义。 

; 指示被指定使用如下语法: 
; 指示标识符 = 值 
; directive = value 
; 指示标识符 是 *大小写敏感的* - foo=bar 不同于 FOO = bar。 

; 值可以是一个字符串,一个数字,一个 PHP 常量 (如: E_ALL or M_PI), INI 常量中的 
; 一个 (On, Off, True, False, Yes, No and None) ,或是一个表达式 
; (如: E_ALL & ~E_NOTICE), 或是用引号括起来的字符串("foo"). 

; INI 文件的表达式被限制于位运算符和括号。 
; | bitwise OR 
; & bitwise AND 
; ~ bitwise NOT 
; ! boolean NOT 

; 布尔标志可用 1, On, True or Yes 这些值置于开的状态。 
; 它们可用 0, Off, False or No 这些值置于关的状态。 

; 一个空字符串可以用在等号后不写任何东西表示,或者用 None 关键字: 

; foo = ; 将foo置为空字符串 
; foo = none ; 将foo置为空字符串 
; foo = "none" ; 将foo置为字符串'none' 

; 如果你值设置中使用常量,而这些常量属于动态调入的扩展库(不是 PHP 的扩展,就是 
; Zend 的扩展),你仅可以调入这些扩展的行*之后*使用这些常量。 

; 所有在 php.ini-dist 文件里设定的值与内建的默认值相同(这是说,如果 php.ini 
; 没被使用或者你删掉了这些行,默认值与之相同)。 


;;;;;;;;;;;;;;;;;;;; 
; 语言选项 ; 
;;;;;;;;;;;;;;;;;;;; 

engine = On 
; 使 PHP scripting language engine(PHP 脚本语言引擎)在 Apache下有效。 
short_open_tag = On 
; 允许 <? 标识(这种简单表示)。否则 仅有 <?php and <script> tags 将被识别。 
asp_tags = Off 
; 允许ASP-style <% %> tags 
precision = 14 
; 浮点类型数显示时的有效位数 

y2k_compliance = Off 
; 是否打开 2000年适应 (可能在非Y2K适应的浏览器中导致问题) 

output_buffering = Off 
; 输出缓存允许你甚至在输出正文内容之后发送 header(标头,包括cookies)行 
; 其代价是输出层减慢一点点速度。你可以使用输出缓存在运行时打开输出缓存, 
; 或者在这里将指示设为 On 而使得所有文件的输出缓存打开。 
output_handler = ; 你可以重定向你的脚本的所有输出到一个函数, 
; 那样做可能对处理或以日志记录它有用。 
; 例如若你将这个output_handler 设为"ob_gzhandler", 
; 则输出会被透明地为支持gzip或deflate编码的浏览器压缩。 
; 设一个输出处理器自动地打开输出缓冲。 

implicit_flush = Off 
; 强制flush(刷新)让PHP 告诉输出层在每个输出块之后自动刷新自身数据。 
; 这等效于在每个 print() 或 echo() 调用和每个 HTML 块后调用flush()函数。 
; 打开这项设置会导致严重的运行时冲突,建议仅在debug过程中打开。 

allow_call_time_pass_reference = On 
; 是否让强迫函数调用时按引用传递参数。这一方法遭到抗议, 
; 并可能在将来版本的PHP/Zend里不再支持。 
; 受到鼓励的指定哪些参数按引用传递的方法是在函数声明里。 
; 你被鼓励尝试关闭这一选项并确认你的脚本仍能正常工作,以保证在将来版本的语言里 
; 它们仍能工作。(你将在每次使用该特点时得到一个警告,而参数将按值而不是按引用 
; 传递)。 

; Safe Mode 安全模式 
safe_mode = Off 
safe_mode_exec_dir = 
safe_mode_allowed_env_vars = PHP_ 
; ?Setting certain environment variables 
; ?may be a potential security breach. 
; 该指示包含用逗号分隔的前缀列表。安全模式中,用户仅可以替换 
; 以在此列出的前缀开头的环境变量的值。 
; 默认地,用户将仅能 设定以PHP_开头的环境变量,(如: PHP_FOO=BAR)。 
; 注意: 如果这一指示为空,PHP 将让用户更改任意环境变量! 

safe_mode_protected_env_vars = LD_LIBRARY_PATH 
; 这条指示包含一个用逗号分隔的环境变量列表,那是最终用户将不能用putenv () 更改的。 
; 这些变量甚至在safe_mode_allowed_env_vars 设置为允许的情况下得到保护。 

disable_functions = 
; 这条指示让你可以为了安全的原因让特定函数失效。 
; 它接受一个用逗号分隔的函数名列表。 
; 这条指示 *不受* 安全模式是否打开的影响。 

; 语法高亮模式的色彩。 
; 只要能被<font color=???>接受的东西就能工作。 

highlight.string = #DD0000 
highlight.comment = #FF8000 
highlight.keyword = #007700 
highlight.bg = #FFFFFF 
highlight.default = #0000BB 
highlight.html = #000000 

; Misc 杂项 
expose_php = Off 
; 决定 PHP 是否标示它装在服务器上的事实(例如:加在它 —PHP—给Web服务 
; 发送的信号上)。 
; (我个人的意见,在出现什么power-by的header的时候,把这关掉。) 
; 它不会有安全上的威胁, 但它使检查你的服务器上是否安装了PHP成为了可能。 


;;;;;;;;;;;;;;;;;;; 
; Resource Limits ; 
;;;;;;;;;;;;;;;;;;; 

max_execution_time = 30 ; 每个脚本的最大执行时间, 按秒计 
memory_limit = 8388608 ; 一个脚本最大可使用的内存总量 (这里是8MB) 


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
; Error handling and logging ; 
; 出错控制和登记 ; 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。 
; E_ALL - 所有的错误和警告 
; E_ERROR - 致命性运行时错 
; E_WARNING - 运行时警告(非致命性错) 
; E_PARSE - 编译时解析错误 
; E_NOTICE - 运行时提醒(这些经常是是你的代码的bug引起的, 
;也可能是有意的行为造成的。(如:基于未初始化的变量自动初始化为一个 
;空字符串的事实而使用一个未初始化的变量) 

; E_CORE_ERROR - 发生于PHP启动时初始化过程中的致命错误 
; E_CORE_WARNING - 发生于PHP启动时初始化过程中的警告(非致命性错) 
; E_COMPILE_ERROR - 编译时致命性错 
; E_COMPILE_WARNING - 编译时警告(非致命性错) 
; E_USER_ERROR - 用户产生的出错消息 
; E_USER_WARNING - 用户产生的警告消息 
; E_USER_NOTICE - 用户产生的提醒消息 
; 例子: 
; error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒 
; error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示错误 
error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒 
display_errors = On ; 显示出错误信息(作为输出的一部分) 
; 在最终发布的web站点上,强烈建议你关掉这个特性,并使用 
; 错误日志代替(参看下面)。 
; 在最终发布的web站点继续让 display_errors 有效可能 
; 暴露一些有关安全的信息,例如你的web服务上的文件路径、 
; 你的数据库规划或别的信息。 
display_startup_errors = Off ; 甚至当display_erroes打开了,发生于PHP的启动的步骤中 
; 的错误也不会被显示。 
; 强烈建议保持使 display_startup_errors 关闭, 
; 除了在改错过程中。 
log_errors = Off ; 在日志文件里记录错误(服务器指定的日志,stderr标准错误输出,或error_log(下面的)) 
; 正如上面说明的那样,强烈建议你在最终发布的web站点以日志记录错误 
; 取代直接错误输出。 

track_errors = Off ; 保存最近一个 错误/警告 消息于变量 $php_errormsg (boolean) 
;error_prepend_string = "<font color=ff0000>" ; 于错误信息前输出的字符串 
;error_append_string = "</font>" ; 于错误信息后输出的字符串 
;error_log = filename ; 记录错误日志于指定文件 
;error_log = syslog ; 记录错误日志于系统日志 syslog (NT 下的事件日志, Windows 95下无效) 
warn_plus_overloading = Off ; 当将‘+’用于字符串时警告 


;;;;;;;;;;;;;;;;; 
; Data Handling ; 
;;;;;;;;;;;;;;;;; 
variables_order = "EGPCS" ; 这条指示描述了PHP 记录 
; GET, POST, Cookie, Environment and Built-in 这些变量的顺序。 
; (以 G, P, C, E & S 代表,通常以 EGPCS 或 GPC 的方式引用)。 
; 按从左到右记录,新值取代旧值。 

register_globals = On ; 是否将这些 EGPCS 变量注册为全局变量。 
; 若你不想让用户数据不在全局范围内混乱的话,你可能想关闭它。 
; 这和 track_vars 连起来用更有意义 — 这样你可以通过 
; $HTTP_*_VARS[] 数组访问所有的GPC变量。 

register_argc_argv = On ; 这条指示告诉 PHP 是否声明 argv和argc 变量 
; (注:这里argv为数组,argc为变量数) 
; (其中包含用GET方法传来的数据)。 
; 若你不想用这些变量,你应当关掉它以提高性能。 

track_vars = On ; 使$HTTP_*_VARS[]数组有效,这里*在使用时用 
; ENV, POST, GET, COOKIE or SERVER替换 
post_max_size = 8M ; PHP将接受的POST数据最大大小。 


gpc_order = "GPC" ; 这条指示被人反对。用 variables_order 代替。 

; Magic quotes 
magic_quotes_gpc = On ; 在输入的GET/POST/Cookie数据里使用魔术引用 
; (原文就这样,呵呵,所谓magic quotes 应该是指用转义符加在引用性的控制字符上,如 '....) 
magic_quotes_runtime= Off ; 对运行时产生的数据使用魔术引用, 
; 例如:用SQL查询得到的数据,用exec()函数得到的数据,等等 
magic_quotes_sybase = Off ; 采用 Sybase形式的魔术引用(用 '' 脱出 ' 而不用 ') 

; 自动在 PHP 文档之前和之后添加文件 
auto_prepend_file = 
auto_append_file = 

; 象4.04b4一样,PHP 默认地总是在 “Content-type:” 头标输出一个字符的编码方式。 
; 让输出字符集失效,只要设置为空。 
; PHP 的内建默认值是 text/html 
default_mimetype = "text/html" 
;default_charset = "iso-8859-1" 

;;;;;;;;;;;;;;;;;;;;;;;;; 
; Paths and Directories ; 
;;;;;;;;;;;;;;;;;;;;;;;;; 
include_path = ; include 路径设置,UNIX: "/path1:/path2" Windows: "path1;path2" 
doc_root = ; php 页面的根路径,仅在非空时有效 
user_dir = ; 告知 php 在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效 
;upload_tmp_dir = ; 存放用HTTP协议上载的文件的临时目录(在没指定时使用系统默认的) 
upload_max_filesize = 2097152 ; 文件上载默认地限制为2 Meg 
extension_dir = c:php ; 存放可加载的扩充库(模块)的目录 
enable_dl = On ; 是否使dl()有效。 
; 在多线程的服务器上 dl()函数*不能*很好地工作, 
; 例如IIS or Zeus,并在其上默认为禁止 

;;;;;;;;;;;;;;;; 
; File Uploads ; 
;;;;;;;;;;;;;;;; 
file_uploads = On ; 是否允许HTTP方式文件上载 
;upload_tmp_dir = ; 用于HTTP上载的文件的临时目录(未指定则使用系统默认) 
upload_max_filesize = 2M ; 上载文件的最大许可大小 

; Fopen wrappers ; 
;;;;;;;;;;;;;;;;;; 
allow_url_fopen = On ; 是否允许把URLs当作http:.. 或把文件当作ftp:... 


;;;;;;;;;;;;;;;;;;;;;; 
; 动态扩展 ; 
; Dynamic Extensions ; 
;;;;;;;;;;;;;;;;;;;;;; 
; 若你希望一个扩展库自动加载,用下面的语法: 
; extension=modulename.extension 
; 例如,在windows上, 
; extension=msql.dll 
; or 在UNIX下, 
; extension=msql.so 
; 注意,这只应当是模块的名字,不需要目录信息放在里面。 
; 用上面的 extension_dir 指示指定扩展库的位置。 


;Windows 扩展 
;extension=php_nsmail.dll 
extension=php_calendar.dll 
;extension=php_dbase.dll 
;extension=php_filepro.dll 
extension=php_gd.dll 
;extension=php_dbm.dll 
;extension=php_mssql.dll 
;extension=php_zlib.dll 
;extension=php_filepro.dll 
;extension=php_imap4r2.dll 
;extension=php_ldap.dll 
;extension=php_crypt.dll 
;extension=php_msql2.dll 
;extension=php_odbc.dll 
; 注意, MySQL的支持现在是内建的,因此,不需要用它的dll 


;;;;;;;;;;;;;;;;;;; 
; 模块设定 ; 
; Module Settings ; 
;;;;;;;;;;;;;;;;;;; 

[Syslog] 
define_syslog_variables = Off ; 是否定义各种的系统日志变量 
; 如:$LOG_PID, $LOG_CRON, 等等。 
; 关掉它是个提高效率的好主意。 
; 运行时,你可以调用函数define_syslog_variables(),来定义这些变量 


[mail function] 
SMTP = localhost ;仅用于win32系统 
sendmail_from = me@localhost.com ;仅用于win32系统 
;sendmail_path = ;仅用于unix, 也可支持参数(默认的是'sendmail -t -i') 

[Debugger] 
debugger.host = localhost 
debugger.port = 7869 
debugger.enabled = False 

[Logging] 
; 这些配置指示用于示例的日志记录机制。 
; 看 examples/README.logging 以得到更多的解释 
;logging.method = db 
;logging.directory = /path/to/log/directory 

[Java] 
;java.class.path = .php_java.jar 
;java.home = c:jdk 
;java.library = c:jdkjreinhotspotjvm.dll 
;java.library.path = . 

[SQL] 
sql.safe_mode = Off 

[ODBC] 
;uodbc.default_db = Not yet implemented 
;uodbc.default_user = Not yet implemented 
;uodbc.default_pw = Not yet implemented 
uodbc.allow_persistent = On ; 允许或禁止 持久连接 
uodbc.check_persistent = On ; 在重用前检查连接是否还可用 
uodbc.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 
uodbc.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 
uodbc.defaultlrl = 4096 ; 控制 LONG 类型的字段。返回变量的字节数,0 代表通过(?)0 means passthru 
uodbc.defaultbinmode = 1 ; 控制 二进制数据。0 代表?????Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char 
; 见有关 odbc_binmode 和 odbc_longreadlen 的文档以得到 uodbc.defaultlrl 和 uodbc.defaultbinmode 的解释。 

[MySQL] 
mysql.allow_persistent = On ; 允许或禁止 持久连接 
mysql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 
mysql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 
mysql.default_port = ; mysql_connect() 使用的默认端口,如不设置,mysql_connect() 
; 将使用变量 $MYSQL_TCP_PORT,或在/etc/services 下的mysql-tcp 条目(unix), 
; 或在编译是定义的 MYSQL_PORT(按这样的顺序) 
; Win32环境,将仅检查MYSQL_PORT。 
mysql.default_socket = ; 用于本地 MySql 连接的默认的套接字名。为空,使用 MYSQL 内建值 

mysql.default_host = ; mysql_connect() 默认使用的主机(安全模式下无效) 
mysql.default_user = ; mysql_connect() 默认使用的用户名(安全模式下无效) 
mysql.default_password = ; mysql_connect() 默认使用的密码(安全模式下无效) 
; 注意,在这个文件下保存密码通常是一个*坏*主意 
; *任何*梢允褂肞HP访问的用户可以运行 
; 'echo cfg_get_var("mysql.default_password")'来显示那个密码! 
; 而且当然地,任何有读该文件权力的用户也能看到那个密码。 

[mSQL] 
msql.allow_persistent = On ; 允许或禁止 持久连接 
msql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 
msql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 

[PostgresSQL] 
pgsql.allow_persistent = On ; 允许或禁止 持久连接 
pgsql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 
pgsql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 

[Sybase] 
sybase.allow_persistent = On ; 允许或禁止 持久连接 
sybase.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 
sybase.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 
;sybase.interface_file = "/usr/sybase/interfaces" 
sybase.min_error_severity = 10 ; 显示的错误的最低严重性 
sybase.min_message_severity = 10 ; 显示的消息的最低重要性 
sybase.compatability_mode = Off ; 与旧版的PHP 3.0 兼容的模式。若打开,这将导致 PHP 自动地 
; 把根据结果的 Sybase 类型赋予它们, 
; 而不是把它们全当成字符串。 
; 这个兼容模式不会永远留着, 
; 因此,将你的代码进行需要的修改, 
; 并将该项关闭。 

[Sybase-CT] 
sybct.allow_persistent = On ; 允许或禁止 持久连接 
sybct.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 
sybct.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 
sybct.min_server_severity = 10 ; 显示的错误的最低严重性 
sybct.min_client_severity = 10 ; 显示的消息的最低重要性 

[bcmath] 
bcmath.scale = 0 ; 用于所有bcmath函数的10十进制数数字的个数number of decimal digits for all bcmath functions 

[browscap] 
;browscap = extra/browscap.ini 
browscap = C:WINSYSTEMinetsrvrowscap.ini 
[Informix] 
ifx.default_host = ; ifx_connect() 默认使用的主机(安全模式下无效) 
ifx.default_user = ; ifx_connect() 默认使用的用户名(安全模式下无效) 
ifx.default_password = ; ifx_connect() 默认使用的密码(安全模式下无效) 
ifx.allow_persistent = On ; 允许或禁止 持久连接 
ifx.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 
ifx.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 
ifx.textasvarchar = 0 ; 若打开,select 状态符返回一个 ‘text blob’字段的内容,而不是它的id 
ifx.byteasvarchar = 0 ; 若打开,select 状态符返回一个 ‘byte blob’字段的内容,而不是它的id 
ifx.charasvarchar = 0 ; 追踪从固定长度的字符列里剥离的空格。 
; 可能对 Informix SE 用户有效。 
ifx.blobinfile = 0 ; 若打开,text和byte blobs 的内容被导出到一个文件 
; 而不是保存到内存。 
ifx.nullformat = 0 ; NULL(空)被作为空字段返回,除非,这里被设为1。 
; 这种情况下(为1),NULL作为字串NULL返回。 

[Session] 
session.save_handler = files ; 用于保存/取回数据的控制方式 
session.save_path = C:win    emp ; 在 save_handler 设为文件时传给控制器的参数, 
; 这是数据文件将保存的路径。 
session.use_cookies = 1 ; 是否使用cookies 
session.name = PHPSESSID 
; 用在cookie里的session的名字 
session.auto_start = 0 ; 在请求启动时初始化session 
session.cookie_lifetime = 0 ; 为按秒记的cookie的保存时间, 
; 或为0时,直到浏览器被重启 
session.cookie_path = / ; cookie的有效路径 
session.cookie_domain = ; cookie的有效域 
session.serialize_handler = php ; 用于连接数据的控制器 
; php是 PHP 的标准控制器。 
session.gc_probability = 1 ; 按百分比的'garbage collection(碎片整理)'进程 
; 在每次 session 初始化的时候开始的可能性。 
session.gc_maxlifetime = 1440 ; 在这里数字所指的秒数后,保存的数据将被视为 
; '碎片(garbage)'并由gc 进程清理掉。 
session.referer_check = ; 检查 HTTP引用以使额外包含于URLs中的ids无效 
session.entropy_length = 0 ; 从文件中读取多少字节 
session.entropy_file = ; 指定这里建立 session id 
; session.entropy_length = 16 
; session.entropy_file = /dev/urandom 
session.cache_limiter = nocache ; 设为{nocache,private,public},以决定 HTTP 的 
; 缓存问题 
session.cache_expire = 180 ; 文档在 n 分钟后过时 
session.use_trans_sid = 1 ; 使用过渡性的 sid 支持,若编译时许可了 
; --enable-trans-sid 
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" 

[MSSQL] 
;extension=php_mssql.dll 
mssql.allow_persistent = On ; 允许或禁止 持久连接 
mssql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 
mssql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 
mssql.min_error_severity = 10 ; 显示的错误的最低严重性 
mssql.min_message_severity = 10 ; 显示的消息的最低重要性 
mssql.compatability_mode = Off ; 与旧版的PHP 3.0 兼容的模式。 

[Assertion] 
; ????? 
;assert.active = On ; ?assert(expr); active by default 
;assert.warning = On ; issue a PHP warning for each failed assertion. 
;assert.bail = Off ; don't bail out by default. 
;assert.callback = 0 ; user-function to be called if an assertion fails. 
;assert.quiet_eval = 0 ; eval the expression with current error_reporting(). set to true if you want error_reporting(0) around the eval(). 

[Ingres II] 
ii.allow_persistent = On ; 允许或禁止 持久连接 
ii.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制 
ii.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制 
ii.default_database = ; 默认 database (format : [node_id::]dbname[/srv_class] 
ii.default_user = ; 默认 user 
ii.default_password = ; 默认 password 

[Verisign Payflow Pro] 
pfpro.defaulthost = "test.signio.com" ; 默认的 Signio 服务器 
pfpro.defaultport = 443 ; 连接的默认端口 
pfpro.defaulttimeout = 30 ; 按秒计的默认超时时间 

; pfpro.proxyaddress = ; 默认的代理的 IP 地址(如果需要) 
; pfpro.proxyport = ; 默认的代理的端口 
; pfpro.proxylogon = ; 默认的代理的登录(logon 用户名) 
; pfpro.proxypassword = ; 默认的代理的密码 

[Sockets] 
sockets.use_system_read = On ; 使用系统的read() 函数替代 php_read()封装 
; Local Variables: (局部变量) 
; tab-width: 4 
; End:

Serv-U中ServUDaemon.ini文件密码破解

用下面的asp算出你的密码hash 在替换到 ServUDaemon.ini 用完了 在把hash改回来 就不回被发现了
<%
'ser-u5.0的算法 
'by lilo
Private Const BITS_TO_A_BYTE = 8
Private Const BYTES_TO_A_WORD = 4
Private Const BITS_TO_A_WORD = 32

Private m_lOnBits(30)
Private m_l2Power(30)

Private Function LShift(lValue, iShiftBits)
If iShiftBits = 0 Then
LShift = lValue
Exit Function
ElseIf iShiftBits = 31 Then
If lValue And 1 Then
LShift = &H80000000
Else
LShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
Err.Raise 6
End If

If (lValue And m_l2Power(31 - iShiftBits)) Then
LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
Else
LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
End If
End Function

Private Function RShift(lValue, iShiftBits)
If iShiftBits = 0 Then
RShift = lValue
Exit Function
ElseIf iShiftBits = 31 Then
If lValue And &H80000000 Then
RShift = 1
Else
RShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
Err.Raise 6
End If

RShift = (lValue And &H7FFFFFFE)  m_l2Power(iShiftBits)

If (lValue And &H80000000) Then
RShift = (RShift Or (&H40000000  m_l2Power(iShiftBits - 1)))
End If
End Function

Private Function RotateLeft(lValue, iShiftBits)
RotateLeft = LShift(lValue, iShiftBits) Or RShift(lValue, (32 - iShiftBits))
End Function

Private Function AddUnsigned(lX, lY)
Dim lX4
Dim lY4
Dim lX8
Dim lY8
Dim lResult

lX8 = lX And &H80000000
lY8 = lY And &H80000000
lX4 = lX And &H40000000
lY4 = lY And &H40000000

lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF)

If lX4 And lY4 Then
lResult = lResult Xor &H80000000 Xor lX8 Xor lY8
ElseIf lX4 Or lY4 Then
If lResult And &H40000000 Then
lResult = lResult Xor &HC0000000 Xor lX8 Xor lY8
Else
lResult = lResult Xor &H40000000 Xor lX8 Xor lY8
End If
Else
lResult = lResult Xor lX8 Xor lY8
End If

AddUnsigned = lResult
End Function

Private Function md5_F(x, y, z)
md5_F = (x And y) Or ((Not x) And z)
End Function

Private Function md5_G(x, y, z)
md5_G = (x And z) Or (y And (Not z))
End Function

Private Function md5_H(x, y, z)
md5_H = (x Xor y Xor z)
End Function

Private Function md5_I(x, y, z)
md5_I = (y Xor (x Or (Not z)))
End Function

Private Sub md5_FF(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, 
End Sub

Private Sub md5_GG(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, 
End Sub

Private Sub md5_HH(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, 
End Sub

Private Sub md5_II(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, 
End Sub

Private Function ConvertToWordArray(sMessage)
Dim lMessageLength
Dim lNumberOfWords
Dim lWordArray()
Dim lBytePosition
Dim lByteCount
Dim lWordCount

Const MODULUS_BITS = 512
Const CONGRUENT_BITS = 448

lMessageLength = Len(sMessage)

lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS)  BITS_TO_A_BYTE))  (MODULUS_BITS  BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS  BITS_TO_A_WORD)
ReDim lWordArray(lNumberOfWords - 1)

lBytePosition = 0
lByteCount = 0
Do Until lByteCount >= lMessageLength
lWordCount = lByteCount  BYTES_TO_A_WORD
lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition)
lByteCount = lByteCount + 1
Loop

lWordCount = lByteCount  BYTES_TO_A_WORD
lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE

lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(&H80, lBytePosition)

lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3)
lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29)

ConvertToWordArray = lWordArray
End Function

Private Function WordToHex(lValue)
Dim lByte
Dim lCount

For lCount = 0 To 3
lByte = RShift(lValue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1)
WordToHex = WordToHex & Right("0" & Hex(lByte), 2)
Next
End Function

Private Function MD5(sMessage)
m_lOnBits(0) = CLng(1)
m_lOnBits(1) = CLng(3)
m_lOnBits(2) = CLng(7)
m_lOnBits(3) = CLng(15)
m_lOnBits(4) = CLng(31)
m_lOnBits(5) = CLng(63)
m_lOnBits(6) = CLng(127)
m_lOnBits(7) = CLng(255)
m_lOnBits(8) = CLng(511)
m_lOnBits(9) = CLng(1023)
m_lOnBits(10) = CLng(2047)
m_lOnBits(11) = CLng(4095)
m_lOnBits(12) = CLng(8191)
m_lOnBits(13) = CLng(16383)
m_lOnBits(14) = CLng(32767)
m_lOnBits(15) = CLng(65535)
m_lOnBits(16) = CLng(131071)
m_lOnBits(17) = CLng(262143)
m_lOnBits(18) = CLng(524287)
m_lOnBits(19) = CLng(1048575)
m_lOnBits(20) = CLng(2097151)
m_lOnBits(21) = CLng(4194303)
m_lOnBits(22) = CLng(8388607)
m_lOnBits(23) = CLng(16777215)
m_lOnBits(24) = CLng(33554431)
m_lOnBits(25) = CLng(67108863)
m_lOnBits(26) = CLng(134217727)
m_lOnBits(27) = CLng(268435455)
m_lOnBits(28) = CLng(536870911)
m_lOnBits(29) = CLng(1073741823)
m_lOnBits(30) = CLng(2147483647)

m_l2Power(0) = CLng(1)
m_l2Power(1) = CLng(2)
m_l2Power(2) = CLng(4)
m_l2Power(3) = CLng(8)
m_l2Power(4) = CLng(16)
m_l2Power(5) = CLng(32)
m_l2Power(6) = CLng(64)
m_l2Power(7) = CLng(128)
m_l2Power(8) = CLng(256)
m_l2Power(9) = CLng(512)
m_l2Power(10) = CLng(1024)
m_l2Power(11) = CLng(2048)
m_l2Power(12) = CLng(4096)
m_l2Power(13) = CLng(8192)
m_l2Power(14) = CLng(16384)
m_l2Power(15) = CLng(32768)
m_l2Power(16) = CLng(65536)
m_l2Power(17) = CLng(131072)
m_l2Power(18) = CLng(262144)
m_l2Power(19) = CLng(524288)
m_l2Power(20) = CLng(1048576)
m_l2Power(21) = CLng(2097152)
m_l2Power(22) = CLng(4194304)
m_l2Power(23) = CLng(8388608)
m_l2Power(24) = CLng(16777216)
m_l2Power(25) = CLng(33554432)
m_l2Power(26) = CLng(67108864)
m_l2Power(27) = CLng(134217728)
m_l2Power(28) = CLng(268435456)
m_l2Power(29) = CLng(536870912)
m_l2Power(30) = CLng(1073741824)


Dim x
Dim k
Dim AA
Dim BB
Dim CC
Dim DD
Dim a
Dim b
Dim c
Dim d

Const S11 = 7
Const S12 = 12
Const S13 = 17
Const S14 = 22
Const S21 = 5
Const S22 = 9
Const S23 = 14
Const S24 = 20
Const S31 = 4
Const S32 = 11
Const S33 = 16
Const S34 = 23
Const S41 = 6
Const S42 = 10
Const S43 = 15
Const S44 = 21

x = ConvertToWordArray(sMessage)

a = &H67452301
b = &HEFCDAB89
c = &H98BADCFE
d = &H10325476

For k = 0 To UBound(x) Step 16
AA = a
BB = b
CC = c
DD = d

md5_FF a, b, c, d, x(k + 0), S11, &HD76AA478
md5_FF d, a, b, c, x(k + 1), S12, &HE8C7B756
md5_FF c, d, a, b, x(k + 2), S13, &H242070DB
md5_FF b, c, d, a, x(k + 3), S14, &HC1BDCEEE
md5_FF a, b, c, d, x(k + 4), S11, &HF57C0FAF
md5_FF d, a, b, c, x(k + 5), S12, &H4787C62A
md5_FF c, d, a, b, x(k + 6), S13, &HA8304613
md5_FF b, c, d, a, x(k + 7), S14, &HFD469501
md5_FF a, b, c, d, x(k + 8), S11, &H698098D8
md5_FF d, a, b, c, x(k + 9), S12, &H8B44F7AF
md5_FF c, d, a, b, x(k + 10), S13, &HFFFF5BB1
md5_FF b, c, d, a, x(k + 11), S14, &H895CD7BE
md5_FF a, b, c, d, x(k + 12), S11, &H6B901122
md5_FF d, a, b, c, x(k + 13), S12, &HFD987193
md5_FF c, d, a, b, x(k + 14), S13, &HA679438E
md5_FF b, c, d, a, x(k + 15), S14, &H49B40821

md5_GG a, b, c, d, x(k + 1), S21, &HF61E2562
md5_GG d, a, b, c, x(k + 6), S22, &HC040B340
md5_GG c, d, a, b, x(k + 11), S23, &H265E5A51
md5_GG b, c, d, a, x(k + 0), S24, &HE9B6C7AA
md5_GG a, b, c, d, x(k + 5), S21, &HD62F105D
md5_GG d, a, b, c, x(k + 10), S22, &H2441453
md5_GG c, d, a, b, x(k + 15), S23, &HD8A1E681
md5_GG b, c, d, a, x(k + 4), S24, &HE7D3FBC8
md5_GG a, b, c, d, x(k + 9), S21, &H21E1CDE6
md5_GG d, a, b, c, x(k + 14), S22, &HC33707D6
md5_GG c, d, a, b, x(k + 3), S23, &HF4D50D87
md5_GG b, c, d, a, x(k + 8), S24, &H455A14ED
md5_GG a, b, c, d, x(k + 13), S21, &HA9E3E905
md5_GG d, a, b, c, x(k + 2), S22, &HFCEFA3F8
md5_GG c, d, a, b, x(k + 7), S23, &H676F02D9
md5_GG b, c, d, a, x(k + 12), S24, &H8D2A4C8A

md5_HH a, b, c, d, x(k + 5), S31, &HFFFA3942
md5_HH d, a, b, c, x(k + 8), S32, &H8771F681
md5_HH c, d, a, b, x(k + 11), S33, &H6D9D6122
md5_HH b, c, d, a, x(k + 14), S34, &HFDE5380C
md5_HH a, b, c, d, x(k + 1), S31, &HA4BEEA44
md5_HH d, a, b, c, x(k + 4), S32, &H4BDECFA9
md5_HH c, d, a, b, x(k + 7), S33, &HF6BB4B60
md5_HH b, c, d, a, x(k + 10), S34, &HBEBFBC70
md5_HH a, b, c, d, x(k + 13), S31, &H289B7EC6
md5_HH d, a, b, c, x(k + 0), S32, &HEAA127FA
md5_HH c, d, a, b, x(k + 3), S33, &HD4EF3085
md5_HH b, c, d, a, x(k + 6), S34, &H4881D05
md5_HH a, b, c, d, x(k + 9), S31, &HD9D4D039
md5_HH d, a, b, c, x(k + 12), S32, &HE6DB99E5
md5_HH c, d, a, b, x(k + 15), S33, &H1FA27CF8
md5_HH b, c, d, a, x(k + 2), S34, &HC4AC5665

md5_II a, b, c, d, x(k + 0), S41, &HF4292244
md5_II d, a, b, c, x(k + 7), S42, &H432AFF97
md5_II c, d, a, b, x(k + 14), S43, &HAB9423A7
md5_II b, c, d, a, x(k + 5), S44, &HFC93A039
md5_II a, b, c, d, x(k + 12), S41, &H655B59C3
md5_II d, a, b, c, x(k + 3), S42, &H8F0CCC92
md5_II c, d, a, b, x(k + 10), S43, &HFFEFF47D
md5_II b, c, d, a, x(k + 1), S44, &H85845DD1
md5_II a, b, c, d, x(k + 8), S41, &H6FA87E4F
md5_II d, a, b, c, x(k + 15), S42, &HFE2CE6E0
md5_II c, d, a, b, x(k + 6), S43, &HA3014314
md5_II b, c, d, a, x(k + 13), S44, &H4E0811A1
md5_II a, b, c, d, x(k + 4), S41, &HF7537E82
md5_II d, a, b, c, x(k + 11), S42, &HBD3AF235
md5_II c, d, a, b, x(k + 2), S43, &H2AD7D2BB
md5_II b, c, d, a, x(k + 9), S44, &HEB86D391

a = AddUnsigned(a, AA)
b = AddUnsigned(b, BB)
c = AddUnsigned(c, CC)
d = AddUnsigned(d, DD)
Next

MD5 = UCase(WordToHex(a) & WordToHex( & WordToHex© & WordToHex(d))
End Function

Public function ServU(strpass)
Randomize
AA = chr(Int((97 - 122 + 1) * Rnd() + 122))
BB= lcase(chr(Int((65 - 90 + 1) * Rnd() + 90)))
ServU = md5(AA & BB & strpass)
ServU = AA & BB & ServU
end function
%>

<%
Pass=Request("md5")
If Len(Pass)=0 Then Pass="Serv-U密码算法演示"
%>
<head>
<title>Serv-U密码算法器</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>BODY,TD,INPUT{FONT-SIZE:9PT}</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="md5pass" method="post" >
明文:<input type="text" name="md5" value="<%=Pass%>">
<input type="submit" name="Submit" value="提交">
</form>
散列:<input type=text size=34 maxlength=16 value='<%=ServU(Pass)%>'>
<BR><BR><BR>
测试环境:SERV-U 5.0 & 5.004<BR>
测试结果:测试通过<BR>
<HR>测试方法:<BR><BR>
输入明文后点提交,而后将下面文本框中的散列复制下来,粘贴到Serv-U的ServUDaemon.ini文件中,而后重新启动Serv-u服务。即可测试密码是否正确。
<BR><BR>
测试时发现,直接在INI文件中添加的账户,无须启动SERV-U即可登陆,但如果你同时添加了一些虚拟目录的话,虚拟目录需要服务器重起时才能生效。
<BR><BR>
另外,如果修改INI时,填写了错误的信息,造成该用户无法登陆,在不重新启动服务的情况下,无论再次怎么修改,该用户也无法正常登陆了,解决方法:<BR>
修改该用户名,并将纠正错误的配置信息,即可登陆
本博客立志于收集各类技术资料及技术信息,便于本人和广大网友查询检索,无论公司或个人认为本站存在侵权内容均可与本站联系,任何此类反馈信息一经查明属实后,将立即删除!