为JavaScript程序添加客户端不可见的注释
在ASP.NET页面中,我们编写JavaScript脚本附加有注释时,这些注释也往往会随JavaScript脚本一起送到客户端。访问者只要在浏览器里查看HTML源文件就可以看到这些注释。
当然,我们可以选择放弃使用注释。然而,有些JavaScript代码又是必须有注释的。比如有些代码故意写得很乱,以用来迷惑恶意攻击者。如果没有注释,恐怕也把自己给迷惑进去了,但加了注释,岂不又给了攻击者一个指路标。
有没有办法让JavaScript的注释在客户端不可见呢?
答案很简单,就是:JavaScript注释 + 服务器端注释!
行注释写法:
//<%-- 这里写行注释 --%>
块注释写法:
/*<%--
这里写注释语句块,
多行都行。
--%>*/
我们自己的开发人员可以阅读到完整的注释,而编译后的ASP.NET页面将忽略掉<%--到--%>中的注释部分,恶意攻击者在客户端就看不到这些注释了。
他只能看到:// 或者 /**/ 然后,然后立马晕倒!
您可能已经早知道这一诀窍,不过俺是自己想到的。菜鸟并非总吃素,偶尔啄到小虫子。
原著:李战(leadzen).深圳 2008-2-22
原文:http://www.cnblogs.com/leadzen/archive/2008/04/22/1163894.html
当然,我们可以选择放弃使用注释。然而,有些JavaScript代码又是必须有注释的。比如有些代码故意写得很乱,以用来迷惑恶意攻击者。如果没有注释,恐怕也把自己给迷惑进去了,但加了注释,岂不又给了攻击者一个指路标。
有没有办法让JavaScript的注释在客户端不可见呢?
答案很简单,就是:JavaScript注释 + 服务器端注释!
行注释写法:
//<%-- 这里写行注释 --%>
块注释写法:
/*<%--
这里写注释语句块,
多行都行。
--%>*/
我们自己的开发人员可以阅读到完整的注释,而编译后的ASP.NET页面将忽略掉<%--到--%>中的注释部分,恶意攻击者在客户端就看不到这些注释了。
他只能看到:// 或者 /**/ 然后,然后立马晕倒!
您可能已经早知道这一诀窍,不过俺是自己想到的。菜鸟并非总吃素,偶尔啄到小虫子。
原著:李战(leadzen).深圳 2008-2-22
原文:http://www.cnblogs.com/leadzen/archive/2008/04/22/1163894.html