这个网站前端是怎么做到不让用户看源代码的?

2017-03-05 22:51:30 +08:00
 KarenbabyQ

Chrome 里打开 https://app.expertoption.com 想看看它的 html 代码,结果一开 console 就开启了 Debugger, 接着页面代码就变成了一些没意义的东西,就没办法看它的 html 代码了。再过会儿浏览器就会卡死。这个 debugger 是怎么搞的? html 代码又是如何被它隐藏的呢?

有大牛知道这是什么原理吗?谢谢!

3483 次点击
所在节点    问与答
11 条回复
coldwinds
2017-03-05 23:03:54 +08:00
wget
tony1016
2017-03-05 23:33:40 +08:00
不让看 HTML 源码的方式是有的,最近我司在测试某公司一款产品,其可以对 HTML 和 JS 进行动态混淆,虽说毕竟要交给浏览器解释,理论上还是可能读懂源码,但是已经混淆的太厉害,起到了保护的作用
avrillavigne
2017-03-05 23:48:06 +08:00
这个网页有外部资源要开代理,我查看源码 并没有卡死。
cnwtex
2017-03-05 23:58:16 +08:00
lecher
2017-03-05 23:58:53 +08:00
可以监听 console 开启状态,非要做这么伤用户体验的事情也可以做得到的,监听到 console 开启,立刻进行页面自毁。
ByZHkc3
2017-03-06 00:00:52 +08:00
这网站用的 angularJs 写的前端
markx
2017-03-06 00:06:01 +08:00
我这里看代码并没有问题,也没有开启 debugger
ZhaoMiing
2017-03-06 00:09:34 +08:00
目测是有个定时器去不断检查 devtools 开启状态(不要问我怎么检测到的,前端从来就不却奇技淫巧),如果开启的话就不断执行这段函数,目的就是把你卡死。
```
{function anonymous() {
debugger
}}
```
bozong
2017-03-06 00:11:12 +08:00
sunjourney
2017-03-06 10:12:46 +08:00
我这里看没有问题
KarenbabyQ
2017-03-06 11:01:56 +08:00
`view-source:https://app.expertoption.com/` 当然不会有问题,但这样也看不到什么内容。这个页面的大部分 html 内容是 js 动态加载的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/345160

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX