讲师中心 微信公众号
AI工具推荐 视频效率加速

applet标签嵌入Java的历史遗迹_HTML富互联网应用安全变迁

大明小哥_3788

大明小哥_3788

发布时间:2026-04-22 15:19:25

|

1137人浏览过

|

来源于php中文网

原创

现代浏览器已彻底移除对HTML applet标签的支持,因其依赖的NPAPI插件架构自2015年起被主流浏览器陆续禁用,Oracle于2017年终止Java浏览器插件支持,JDK 11更彻底删除java.applet模块。

applet标签嵌入java的历史遗迹_html富互联网应用安全变迁 - php中文网

如果您在查阅早期网页源码时发现标签,或尝试运行遗留系统中的Java小程序却遭遇空白页面与控制台报错,则很可能是由于现代浏览器已彻底移除对HTML applet标签的支持。以下是复现、识别与理解这一历史技术断层的操作路径:

一、确认applet标签的HTML语法结构

该标签曾是JDK 1.0至JDK 8时代嵌入Java字节码的标准HTML容器,其声明需严格匹配class、codebase、width、height等属性,且依赖浏览器内置Java插件进行字节码加载与沙箱执行。若HTML中存在结构,即为典型的历史遗迹标识。

1、打开浏览器开发者工具(F12),切换至“Elements”面板。

2、搜索关键词

立即学习“Java免费学习笔记(深入)”;

3、检查其code属性值是否指向.class文件,以及是否存在archive属性引用JAR包。

4、右键点击该标签,选择“Edit as HTML”,观察是否可手动修改参数并触发重渲染(现代浏览器将忽略全部变更)。

二、验证Java插件缺失导致的静默失败

自2015年起,Chrome、Firefox、Edge陆续禁用NPAPI插件架构;2017年Oracle终止Java浏览器插件支持;2018年JDK 9标记java.applet包为@Deprecated;2019年JDK 11彻底删除java.applet模块。当前所有主流浏览器均无任何机制解析或执行applet标签内容。

1、在Chrome地址栏输入chrome://plugins/(若不可访问,说明NPAPI已硬性屏蔽)。

2、在Firefox地址栏输入about:plugins,查找“Java Platform”条目——该条目在Firefox 52+版本中已完全消失。

3、使用IE 11(仅限Windows旧系统)访问同一页面,启用兼容性视图并手动启用Java(需已安装JRE 8u201及以前版本)。

4、对比IE 11与Chrome的控制台输出:IE可能报告SecurityException,Chrome则不产生任何网络请求、不加载.class、不抛出错误、不执行init()方法。

三、通过appletviewer还原原始执行环境

appletviewer是JDK自带的独立工具,绕过浏览器直接加载HTML中applet标签所引用的.class文件,在本地JVM沙箱中模拟原始执行流程,适用于逆向分析与教学验证。

1、保存含applet标签的HTML文件为legacy.html,确保其code属性路径可被appletviewer解析(推荐使用相对路径)。

使用华数设计生成高保真HTML原型、演示文稿、动画和设计评审
使用华数设计生成高保真HTML原型、演示文稿、动画和设计评审

使用经过文档化的设计技能,从真实的品牌或项目背景中生成HTML原生原型、幻灯片、动态演示、可视化图表和评审流程。

下载

2、打开终端,切换至HTML文件所在目录。

3、执行命令:appletviewer legacy.html(需JDK 8或更早版本,JDK 9+已移除此工具)。

4、观察窗口是否弹出Applet图形界面;若报错“ClassNotFoundException”,说明class文件未在当前目录或未正确打包进archive指定的JAR中。

四、解析HTML中残留的applet参数传递逻辑

applet标签曾通过向Java小程序注入配置,这些参数由getParameter("config")读取。尽管标签已失效,但参数结构仍保留在HTML中,构成安全策略演进的关键证据。

1、在Elements面板中展开节点,查看其子节点的数量与name/value组合。

2、记录所有name值,例如"serverUrl"、"timeout"、"debugMode",它们暴露了当年客户端直连后端的通信契约。

3、比对现代等效功能:这些参数如今已被JavaScript fetch API的URL构造、AbortController信号、console.debug条件开关所替代。

4、特别注意name="codebase"与getParameter("codebase")的双重存在——这是跨域资源加载权限失控的历史伏笔,也是后续CSP(Content Security Policy)强制要求script-src 'self'的直接动因之一。

五、捕获浏览器控制台中applet相关的废弃警告痕迹

部分旧版网站在移除applet标签前,曾添加JavaScript降级脚本用于检测Java支持状态。这些脚本虽已失效,但其console.warn输出仍可能残留在页面初始化逻辑中,成为安全变迁的时间戳。

1、刷新页面,立即切换至开发者工具的Console面板。

2、筛选关键词“applet”、“java”、“plugin”、“deployJava”,查找以“DEPRECATED”、“NO_SUPPORT”、“BLOCKED”结尾的日志。

3、定位发出日志的JS文件路径,例如/js/detect-java.js,打开后查找navigator.javaEnabled()调用——该API在Chrome 86+、Firefox 83+中始终返回false。

4、检查是否存在try-catch包裹的document.applets[0].start()调用,此类代码在现代环境中会抛出TypeError:“Cannot read property 'start' of undefined”。

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

讯飞智文

一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

12017

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

9102

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

7792

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1264

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1008

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

1516

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

3149

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

20391

2023.08.03

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

20

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn