在ASP.NET页面中,我们编写JavaScript脚本附加有注释时,这些注释也往往会随JavaScript脚本一起送到客户端。访问者只要在浏览器里查看HTML源文件就可以看到这些注释。
当然,我们可以选择放弃使用注释。然而,有些JavaScript代码又是必须有注释的。比如有些代码故意写得很乱,以用来迷惑恶意攻击者。如果没有注释,恐怕也把自己给迷惑进去了,但加了注释,岂不又给了攻击者一个指路标。
有没有办法让JavaScript的注释在客户端不可见呢?
答案很简单,就是:JavaScript注释 + 服务器端注释!
行注释写法:
//<%-- 这里写行注释 --%>
块注释写法:
/*<%--
这里写注释语句块,
多行都行。
--%>*/
我们自己的开发人员可以阅读到完整的注释,而编译后的ASP.NET页面将忽略掉<%--到--%>中的注释部分,恶意攻击者在客户端就看不到这些注释了。
他只能看到:// 或者 /**/ 然后,然后立马晕倒!
您可能已经早知道这一诀窍,不过俺是自己想到的。菜鸟并非总吃素,偶尔啄到小虫子。
原著:李战(leadzen).深圳 2008-4-22
原文:http://www.cnblogs.com/leadzen/archive/2008/04/22/1163894.html
【转载请注明作者及出处】
当然,我们可以选择放弃使用注释。然而,有些JavaScript代码又是必须有注释的。比如有些代码故意写得很乱,以用来迷惑恶意攻击者。如果没有注释,恐怕也把自己给迷惑进去了,但加了注释,岂不又给了攻击者一个指路标。
有没有办法让JavaScript的注释在客户端不可见呢?
答案很简单,就是:JavaScript注释 + 服务器端注释!
行注释写法:
//<%-- 这里写行注释 --%>
块注释写法:
/*<%--
这里写注释语句块,
多行都行。
--%>*/
我们自己的开发人员可以阅读到完整的注释,而编译后的ASP.NET页面将忽略掉<%--到--%>中的注释部分,恶意攻击者在客户端就看不到这些注释了。
他只能看到:// 或者 /**/ 然后,然后立马晕倒!
您可能已经早知道这一诀窍,不过俺是自己想到的。菜鸟并非总吃素,偶尔啄到小虫子。
原著:李战(leadzen).深圳 2008-4-22
原文:http://www.cnblogs.com/leadzen/archive/2008/04/22/1163894.html
【转载请注明作者及出处】
分类:
.NET技术
标签:
JavaScript
, ASP.NET
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构