走路有风

蜀道难上青天,水波浪及塘沿。闻声心潮澎湃,涛起阵阵思念。
走路有风

08/07/2009

Eos WordPress Theme

原创日记, 网络摘记, by 很黑很非洲.

  Eos WordPress Theme 是一个很棒的主题,至少看起来很清爽,也很漂亮,但是很不幸,应用在我的 WordPress 上之后,只要使用 Internet Explorer 8 浏览的话,IE8 必定崩溃。其他的任何一个浏览器如 Safari, Opera, Fire Fox, Google Chrome 等,都能够正常显示。我不知道是什么原因,我尝试禁用 WordPress 所有的 Plugins, 关掉所有的 IE Add-ons, 甚至重置 IE 都不行,无奈之下反馈给 Eos 的作者,之后他来信告知,在经过他的测试之后并没有发现任何问题,希望我能够多给他提供一点有用的信息。好吧,我就开始写。可是说起来容易写起来难啊,虽然我看英文问题不大,有时候还可以小打小闹的翻译下小东西,但是要把 IE 崩溃的哪怕只是一点点的 detail 用英文来表达,还真的不是那么简单的事,有那么多的专业术语。本想放弃了的,但是人家 Sebastian 那么的诚恳,而且我也很喜欢 Eos 这款主题,只好硬着头皮上了……都不敢说他是否能够看得懂我所表达的,就更别说我是否清楚的表达了我所想要表达的了……唔,这句话蛮绕口的,翻译成英文的话应该怎么翻呢?

  还好,昨晚 Sebastian 再次来信,说他能够读懂我所想要阐述的内容,并告诉我真正引起 IE8 崩溃的不是 Eos 本身,而是 DEP。经过他多次的测试,也没能 reproduce 该现象,然后给了我一个链接,或许我能在那里面找到帮助解决此问题的有用信息。然而问题还是不能得到解决,再次 b&G 之后,才发现满世界有很多的人都跟我一样饱受 DEP 的折磨,用尽了一切办法,问题依旧。

  什么是 DEP?Data Execute Prevention 的缩写,意思是数据执行保护的缩写。

  数据执行保护 (DEP) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。在 Microsoft Windows XP Service Pack 2, Microsoft Windows Server 2003 Service Pack 1, Microsoft Windows XP Tablet PC Edition 2005 和 Microsoft Windows Vista 中,由硬件和软件一起强制实施 DEP。

  DEP 的主要优点是可以帮助防止数据页执行代码。通常情况下,不从默认堆和堆栈执行代码。硬件实施 DEP 检测从这些位置运行的代码,并在发现执行情况时引发异常。软件实施 DEP 可帮助阻止恶意代码利用 Windows 中的异常处理机制进行破坏。

  硬件实施 DEP 是某些 DEP 兼容处理器的功能,可以防止在已标记为数据存储区的内存区域中执行代码。 此功能也称为非执行和执行保护。 Windows XP SP2 还包括软件实施 DEP,其目的在于减少利用 Windows 中的例外处理机制的情况。

  与防病毒程序不同,硬件和软件实施 DEP 技术的目的并不是防止在计算机上安装有害程序。 而是监视您的已安装程序,帮助确定它们是否正在安全地使用系统内存。 为监视您的程序,硬件实施 DEP 将跟踪已指定为“不可执行”的内存区域。 如果已将内存指定为“不可执行”,但是某个程序试图通过内存执行代码,Windows 将关闭该程序以防止恶意代码。 无论代码是不是恶意,都会执行此操作。

  注:基于软件的 DEP 是 Windows XP SP2 的一部分并默认启用,不考虑处理器的硬件实施 DEP 功能。 默认情况下,软件实施 DEP 应用于核心操作系统组件和服务。

  DEP 默认配置的目的在于保护您的计算机,并尽量减小对应用程序兼容性的影响。 但是某些程序也可能无法正确运行,视您的 DEP 配置而定。

  在运行 Microsoft Windows XP 64 位版本并附带 DEP 兼容处理器的计算机上,硬件实施 DEP 已默认启用。 64位应用程序将不会通过内存的“不可执行”区域来运行。不能禁用硬件启用的 DEP。

  Windows XP SP2 上的软件启用 DEP 以及在任何处理器上运行的 32 位应用程序可以配置为使用内存的“可执行”或“不可执行”区域。

  为了配合微软的 DEP 功能,Intel 为自己的 CPU 开发了 Execute Disable Bit (EDB) 内存保护技术。目前Intel P4 Prescott(mPGA478与LGA775封装)为C0或D0步进核心,最新的 J 系列 P4 Prescott 采用 E0 步进核心。其中只有 J 系列P4 Prescott具备防病毒功能,只有它才真正支持EDB技术,能够配合SP2的DEP防毒功能,让针对缓冲区溢出(buffer overrun)漏洞设计的病毒失效,预防它们复制并散播到其他系统。

  AMD 64位处理器最先支持微软的 DEP 技术。为了配合 DEP, AMD 与微软一起设计研发了 AMD 的新芯片功能 Enhanced Virus Protection, 即 EVP 增强病毒保护。AMD 64位处理器(包括 Athlon 64/Athlon 64 FX/Athlon 64 移动版本/Sempron 移动版本等)都将具有 EVP 功能。EVP 功能可以和 SP2 的 DEP 技术配合,防范“缓存溢出”这一常见攻击手段,打击一些病毒和蠕虫,对收发电子邮件、下载文件等日常工作进行更好的保护。

  我的系统正好是64位 Vista, 并且 CPU 支持硬件 DEP, 因此无法关闭该功能,IE8 默认“启用内存保护帮助减少联机攻击*”,即便是以管理员身份运行 IE8 并取消该选项,实际上 DEP 依然是启用的。

  经过反复查找和尝试,终于发现,在我的日志里面,有几篇插入了音频文件(MP3),当我移除所有的音频文件之后,IE8 浏览正常了……但是我很奇怪,为啥用其他的 themes 就没有这个问题呢?单单 Eos 就会出现呢?搞不懂,实在是搞不懂ing…无奈,只能暂时不启用 Eos 了。

Back Top

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据