软件真谛

用水云般自在的禅心,书写诗情画意的程序人生...
随笔 - 22, 文章 - 0, 评论 - 1349, 阅读 - 62万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

为JavaScript程序添加客户端不可见的注释

Posted on   李战  阅读(10073)  评论(61编辑  收藏  举报
      在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
【转载请注明作者及出处】
编辑推荐:
· .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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示