windows7系统下ie8内核浏览器不显示验证码的解决思路

安装完windows7旗舰版本后,很久没有遇到验证码无法显示的问题,新遇到这个问题,是因缘于一个asp的小网站程序,无法显示,后来到服务器的win2003 server下,发现也无法显示,但在opera浏览器下,可以显示出来,不用试,在chrome和火狐浏览器下,无疑也是可能的,就是ie8的问题。

以下是从网上搜索来的解决思路。

一、原因是你的阻挡了所有网站 COOKIES,导致对方无法读取你的COOKIES,所以无法显示验证码图框。另外有些网站的验证码采用FLASH形式显示,这要装Adobe Flash Player ActiveX插件的,不安装可能都是显示“X”。

1.打开IE浏览器→工具 →Inter选项→隐私(设置为中)→确定,保存退出

2.打开IE浏览器→工具 →Inter选项→高级→在“显示图片”的框框打√,或直接“恢复默认值”。

3.下载Adobe Flash Player ActiveX控件(请 使用右键迅雷下载)进行独立安装,然后重启电脑。

二、开始->运行,在运行输入框中 输入“regsvr32 c:\windows\system32\pngfilt.dll”(不包含双引号),然后点击确定,如果在出现“已加载c:\windows \system32\pngfilt.dll,但没有找到DllRegisterSever 输入点,无法注册这个文件”,则表明这个文件可能损坏了。你要去别的机子去Copy一个好的过 来(也可以来这个网站下载:http://www.farfree.com/tool/dll.asp),再进行一次注册,即:开始->运行,在运行输入框中输入 “regsvr32 c:\windows\system32\pngfilt.dll”(不包含双引号),如果出现“c:\windows\system32 \pngfilt.dll 中的DllRegisterServer 成功”,说明问题已经解决了。如果在覆盖 “pngfilt.dll”文件时,提示“无法复制PNGFILT:文件正被另一个人或程序使用。关闭任何可能使用这个文件的程序,重新试一次。”,就把 “c:\windows\system32\pngfilt.dll”这个文件用文件粉碎机粉碎掉,然后把新的“pngfilt.dll”文件粘贴过来就 OK了!(注:这个认识,Linker不同意,不过可以试一下注册。)

还有人宣称,同时涉及两个dll文件:

regsvr32 %SystemRoot%\system32\pngfilt.dll
regsvr32 %SystemRoot%\system32\shimgvw.dll

三、一些要求身份验证的网站使用在ASP 中动态生成xbm格式图片的方法来显示验证码,但xp sp2默认设置不支持xbm格式图片。

新建文本文件~~把下面红色部分复制 到文件中~~把文本文件改名为“xx.reg”文件,导入即可解决问题。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Security]
"BlockXBM"=dword:00000000

四、XP的sp2版(或WIN2000) 系统为了提高系统的稳定性,默认屏蔽了对XBM即X-bitmap格式图片的显示,而这些验证码恰恰是XBM格式的,所以显示不出来,给你提供一个补丁, 关闭所有IE后运行,点右下角的“允许显示”,重新启动即可。

该补丁用于XP sp2系统,其他系统不可使用
http://www.hysyxx.com/Soft/UploadSoft/200410/20041013093601475.rar

五、如果你用的是第三方浏览器,像遨游、TT、绿色浏览器等, 估计你的验证码是被浏览器的拦截助手拦截了,可以取消浏览器工具栏的拦截选项,把广告过滤包都先停用。包括过滤页面中自动漂浮的元素、过滤 全屏漂浮物和ICast广告、过滤自动弹出的网页窗口,等等

六、停掉所谓的网盾功能,例如360安全卫士自带的金山网盾,以及其他可能的所谓的“盾”,当然如果有绿坝的话,也可以怀疑一下,这个Linker没有安装过,无法验定。

七、在IIS下,验证码不显示,也有可能是因为iis中父路径的设置问题。iis7下启用方法:网站管理中,打开中间界面的“asp”分组,把有关“启用父路径”那一项由“false”设置为“true”,然后点击最上层,应用即可。

八、当网页包括经过加密传送的HTTPS内容和未经过加密传送的HTTP内容时,IE8就会询问用户是否接受未经过加密的内容。用户经过如下设置后,在浏览HTTPS网站时,同时接受一般未经过加密的HTTPS信息,就不会出现提示了。

具体方法如下

打开IE8选择“工具”→“internet选项”点击后会出现如图1所示的窗口。

接着选择“安全”页面,点击“internet”,再选择下面的“自定义级别”按钮

将“显示混合内容”项缺省的“提示”改成“启用”,问题就可以解决了。

九、重装这两个插件,adobe flash player 10 ActiveX,adobe flash player 10 Plugin

在完成这篇日志的时候,Linker还没有解决这个验证码无法显示的问题,但Linker的电脑还没有重启,因此,也请您在测试以上所有方案后,重启一下电脑,再试试看。

重启电脑试了,依然没有解决问题,没有办法,使用winxp sp3的虚拟机吧,哪知一启动也是不识别,狂怒!好在用上面的第三种办法解决了winxp sp3的这个问题,仔细一看ie版本,汗,ie6!