来自:http://article.bwtech.net/artshow_350.htm
Windows XP操作系统,安装了Service Pack 2正式版后,原来一些需要验证码(以图片形式显示的)的网站就登录不了,验证码不能正常显示。
让Windows XP再显示验证码的补丁其实就是个注册表文件,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/Security]
"BlockXBM"=dword:00000000
将以上字符保存到文本编辑器(如Windows自带的“记事本”),存为“所有文件”,文件名扩展名为.reg,导入到注册表即可生效。
然而有的时候,导入注册表这一招并不能奏效,导入之后,查看注册表,内容并未导入,还是不能显示验证码,这个时候需要手工添加键值。
点击“开始”→“运行”,在运行窗口中输入“regedit"(不含引号),点击“确定”按钮。
定位到"HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/Security",在右面窗口空白处点击鼠标右键,新建一个"DWOED值"。
将该“新建的值”命名为"BlockXBM"(不含引号)。
然后鼠标右键点击"BlockXBM"项,修改此键值为8个0,如下图所示。点击“确定”按钮保存之。
重新启动电脑,使注册表生效,即可显示验证码。
为什么XP SP2会默认不显示验证码呢?原来微软公司在XP SP2里面默认不显示XBM图形格式。
X-Bitmap(XBM)是一种古老但通用的图像文件格式,它与现在的许多Web浏览器都兼容。X-Windows图形界面(UNIX和Linux常用的GUI)的C代码库xlib中有一个组件专门描述了它的规范。XBM图形的实质上是使用16进制数组来表示二进制图像的C源代码文件。
XBM格式本来是为存储单色的系统位图而设计的,比如图标和鼠标指针。X-Bitmap的实用程序包括动态生成的图、页面计数器、老式图形图标、以及统计图表。在上世纪九十年代早期,美国超级计算应用中心(NCSA)在伊利诺斯大学开发第一个被广泛使用的Web浏览器,名为Mosaic。这个浏览器的图形支持来自很多开放源码代码库,其中就包括xlib。因此,导致今天的许多浏览器能够处理XBM图形。
Mosaic项目后来成为了Netscape浏览器的开发基础。微软也借用了一部分Mosaic代码来创建Internet Explorer。微软继而在网络信息服务器(IIS)中将XBM作为一个MIME类型注册而提供本地支持,并且在现有所有版本的Internet Explorer中将其作为一种可支持的图像。
从一个程序员的角度来看,JPEG或GIF与XBM有着极大的不同。这两种文件格式都在位级别上操作并使用了压缩算法。它们可以支持很大的颜色深度范围。创建这些动态Web图形的唯一方法是使用服务器端的脚本,比如GD.pm和CGI/Perl脚本的结合,或者通过System.Drawing名字空间访问ASP.NET中的图形设计接口类库(GDI+)。
XBM创建起来很有程序性。每个位都被一一指定,而结果图形被限制为两色(黑色和白色)。X-Bitmap并不是必须服务器端脚本,可以在客户端用JavaScript实时创建它们。
另外,一些Windows操作系统用户安装程序,往往将安装程序默认安装到系统盘,使得系统盘文件臃肿,导致硬盘页面缓存空间不够,系统越来越慢。网管不妨在注册表中将其程序默认安装路径改为其他盘符。
打开注册表,定位到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion,将ProgramFilesDire键值“C:/Program Files”修改为其他盘符的目录。如图所示:
其实比较简单的办法也可以制作一个注册表文件直接注入。
方法:建立一个文本文件命名为 sp2.reg ,使用记事本或者editplus等文本编辑软件将如下信息(===号中间部分)粘贴进入,保存。双击sp2.reg,点击确定加入注册表,然后刷新浏览器。如果不好用就得按照上面的方法手工修改。
========================================
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/Security]
"BlockXBM"=dword:00000000
========================================
经测试windows2000/2003生效。