html不能做实名认证,仅能实现合规表单采集:按法规收集必要字段、明示用途、禁用自动填充、前端校验身份证号,真实核验必须由后端调用认证api完成。

HTML 本身不能做实名认证——它只是静态标记语言,不处理身份核验、不连接公安/运营商/第三方认证接口,也不存储或加密敏感信息。所谓“HTML 实名认证页面”,只是前端表单界面,真正的认证逻辑必须由后端(如 Python/Node.js/Java)调用实名 API(如阿里云实人认证、腾讯云慧眼、公安部 eID 接口)完成。
怎么写一个合规的实名信息采集表单
浏览器端能做的,是按《个人信息保护法》和《互联网用户账号信息管理规定》要求,规范收集字段、明示用途、提供撤回机制:
- 只收集必要字段:
姓名、身份证号(注意:不能用type="number",会导致 iOS 自动补全或丢失前导 0;必须用type="text"+inputmode="text") - 身份证号需前端简单校验(非替代后端校验):
idCardCheck()函数可检查长度(15 或 18 位)、末位校验码(可用开源库idcard-validator) - 必须添加显著提示文字:“您提供的身份证信息仅用于实名核验,由【XX平台】委托【XXX认证服务商】处理,不会保存原始证件照片”
- 禁用自动填充干扰:
autocomplete="off"不可靠,应设为autocomplete="new-password"或给id加随机后缀(如id="id-card-239a")
为什么不能在前端做身份证 OCR 或活体检测
这类能力依赖摄像头调用、图像预处理、AI 模型推理,全部需服务端或 SDK 支持:
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
- 纯 HTML/JS 无法直接调起手机摄像头做活体动作识别(眨眼、摇头),
navigator.mediaDevices.getUserMedia()只能取流,无分析能力 - OCR 文字识别需上传图片到后端或调用厂商 SDK(如百度 OCR 的
ocrIdCard()),前端 JS 版本精度低、无国密加密、易被绕过 - 关键风险:若把认证逻辑放在前端,攻击者可伪造
{ "verified": true, "name": "张三" }直接提交,跳过真实核验
如何对接主流实名认证服务(以阿里云实人认证为例)
前端只需集成其 Web SDK,不接触证件图或生物特征原始数据:
- 引入 SDK:
<script src="https://g.alicdn.com/aliyun/realperson-sdk/1.2.0/index.min.js"></script> - 调用
start()前,必须先由你后端调用阿里云DescribeVerifyToken接口获取临时凭证verifyToken,再传给前端(不可硬编码在 HTML 中) - 用户完成认证后,SDK 触发
onSuccess回调,返回verifyToken和certifyId—— 这两个值要立即 POST 到你后端,由后端调用DescribeVerificationResult查询最终结果 - 切记:所有 token 和 certifyId 都是一次性、有时效(通常 10 分钟),且必须由后端校验签名,前端不可解析或缓存
最容易被忽略的一点:实名认证不是“填完就完”,而是「采集 → 提交 → 后端发起核验 → 异步轮询结果 → 更新用户状态」的闭环。前端页面里那个“认证中…”的 loading 状态,背后至少涉及 3 次后端 API 调用,而 HTML 文件本身,连其中任意一次都参与不了。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










