网页源代码查看隐藏电话号码

 人参与 | 时间:2026-10-17 07:27:56

前几天帮朋友处理一个房产中介的网页骚扰电话,对方死活不承认是源代自己打来的。我让他把中介公司官网的码查码页面发过来,右键查看源代码,看隐Ctrl+F搜索那串手机号——不到十秒,藏电号码就躺在HTML注释里,话号旁边还写着“内部联系用,网页勿外传”。源代这事挺讽刺的码查码,你以为藏得挺好,看隐浏览器一按F12全给你抖出来。藏电

网页上显示的话号电话号码,很多时候并不是网页直接写在可见文本里的。常见做法是源代用JavaScript动态拼接,比如把“138”和“1234”和“5678”拆成三个变量,码查码运行时再合到一起。肉眼扫HTML源码,看到的是一堆var a = '138'; var b = '1234';,不熟悉代码的人根本串不起来。但浏览器开发者工具里的“元素”面板会显示最终渲染结果,那个完整号码就明晃晃挂在那儿。

更隐蔽一点的手段是把号码转成Unicode编码或者HTML实体。比如13812345678,浏览器渲染出来是“13812345678”,但在源码里就是一堆数字实体。这种对付普通用户有效,可只要在控制台里敲一行document.body.innerText,所有实体都会被解码成明文。我试过几个招聘网站,用这招能直接拿到HR没公开的手机号。

有些网站会把号码塞进图片里,或者用CSS伪元素::after的content属性来显示。图片OCR现在成本很低,伪元素的内容在开发者工具的“样式”面板里也能直接看到。真正有点技术含量的是用WebSocket或者Ajax异步加载号码,页面初始HTML里什么都没有,等用户点击“查看联系方式”才发请求。这种确实没法从静态源码里直接翻出来,但抓包工具Fiddler或者浏览器网络面板一开,请求返回的JSON里照样躺着完整号码。

我观察到一个现象:越小的公司越喜欢在源码里留痕迹。大厂反而谨慎,号码通常走服务端接口,前端只拿一个token去换。但小公司或者外包做的网站,开发者图省事,直接把号码写在JS文件或者HTML注释里。有次看一个装修公司的页面,源码里甚至留着测试用的假号码和真实号码并排,注释写着“上线前删”,结果上线三个月了还在。

查看源代码这招对普通用户来说门槛不高。Chrome里右键“查看网页源代码”或者直接按Ctrl+U,搜索“1”开头的11位数字,或者搜“tel:”协议链接,经常有意外收获。手机端浏览器稍微麻烦点,但把网址复制到电脑上打开,操作一样。我习惯用view-source:前缀直接在地址栏看,比如view-source:https://www.example.com,比右键菜单还快。

当然,这不是什么黑客技术,就是最基本的网页常识。网站开发者应该清楚,前端没有真正的秘密。任何发送到浏览器的数据,用户都有办法看到。把电话号码藏在源码里,跟把钥匙放在门口脚垫下面差不多——防君子不防小人。真要保护号码,就别让它出现在前端能接触到的任何地方,走服务端中转,每次请求都做鉴权和频率限制。否则,F12一按,什么隐藏都是笑话。

顶: 3246踩: 7388