使用 Source Map 调试线上代码
通常情况下,为了减少请求数和文件下载体积,保证页面以最快的时间载入,线上文件的代码都是经过打包工具合并压缩过的。甚至有的时候,为了防止不法分子或者竞争对手来反编译你的源码,我们会进一步对代码进行混淆或者加密。
通常情况下,为了减少请求数和文件下载体积,保证页面以最快的时间载入,线上文件的代码都是经过打包工具合并压缩过的。甚至有的时候,为了防止不法分子或者竞争对手来反编译你的源码,我们会进一步对代码进行混淆或者加密。
最近开发了一款小程序,主要是展示近期的一些最新、最火的电影以及相关信息,该小程序由首页、列表、详情、评论、视频这几个页面构成。虽说开发过程还算顺畅,但在其中,也遇到一些难搞的问题,为方便日后参考,因此把部分问题列举于此:
一款好的互联网产品的诞生,绝不是开发完、发布到上线就结束了。你必须得加入埋点跟踪,进行后续数据统计,不断维护,细心打磨,小心的版本迭代等。
为了给用户带来更好的体验,你希望在页面上新增一个功能,而该功能可以通过A、B两种(也可能多种)展示方案来呈现,但你们不确定哪种方案更能符合预期。此时,产品和设计便产生了分歧。
我们在开发一个插件时,通常希望它既可以被服务端引用,也能被客户端浏览器使用,即适用多个平台。于是,在模块加载的处理上,我们通常会采用 UMD(Universal Module Definition)的写法。
所谓的 UMD,主要是针对 CommonJS 或 AMD 规范加载模块的差异,而特意封装的一种通用引入模块的解决方案。
前两天收到公司安全组反馈的邮件,说他们在扫描官网某个页面时,发现跨站脚本攻击(XSS漏洞)。经排查,发现是此页面包含了复制粘贴功能,为了兼容各大浏览器,该复制粘贴功能是用开源项目 zeroclipboard 实现的,初步怀疑该 XSS漏洞 是由 zeroclipboard 引发的。
在查阅了相关资料和翻看 zeroclipboard 项目源码之后,果然,在2014年初,github上一位名为masatokinugawa的用户给 zeroclipboard 项目组的开发人员发了一封邮件,描述了此安全漏洞。