拼吾爱程序人生

首页 » 其他编程 » javascript » 隐藏Javascript脚本
cobra - 2008-4-22 22:02:00
文/robot  出处/博客园

刚刚看到李老师的[为JavaScript程序添加客户端不可见的注释],突然想起很久前想过在客户端隐藏脚本的一个方法.在这里给大家一个思路吧.

不过如果想要在已有的项目中使用这个方法,可能要修改你现有的js代码了.

原理其实也很简单,不在页面中写js代码,而是把js代码写在一个单独的文件中,然后在客户端用xmlhttp[这里还是要用到js代码]来请求这个js代码文件,到客户端再用eval执行一次就OK了.

Demo.htm代码:


引用:
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
    <title>K2046,让浏览者看不见你的脚本.</title>
    <script language="javascript" type="text/javascript">
    function GetScript()
    {
        var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        xmlhttp.open("post", "http://Robot/Javascript.aspx", false);//用get的话ie会把文件保存到缓存里,post就不会了.
        xmlhttp.send();
        eval(xmlhttp.responseText);
    }
    window.onload = GetScript;
    </script>
</head>
<body>
    <input type="button"  value="Hello" />
</body>
</html>

javascript.aspx文件代码:


引用:
window.SayHello = function()
{
alert("Hello,Robot!");
}

当然,你也可以在javascript.aspx.cs中加上一些验证,比如检查urlreferrer等,如果urlreferrer不符合要求就Response.End();

其实也可以不用aspx来放js代码,用htm也可以,只是缓存里会出现htm的文件,而且也不能用post方法而已.

不过这也不能保证js绝对的隐藏起来了,用抓包工具好像还是一样可以看到response的数据.呵呵.

 您可能对 [javascript] 的这些文章也感兴趣:

LINQ to JavaScript
javascript之内嵌函数
Javascript实例教程(19) 使用HoTMetal(4)
冒泡算法的三种JavaScript表示
在网页里做类似window右键的弹出式菜单
Javascript在IE和FireFox中的不同表现
Email地址加密javascript版
用Javascript实现评估用户输入密码的强度
使用内部对象系统
Mootools-1.2 学习笔记之基础操作
1
查看完整版本: 隐藏Javascript脚本
Modify by pin5i DZNT_ExpandPackage 2.1.3237 2007-2008 pin5i.com
  Total Unique Visitors: