阅读文章

让客户端看不见你的Javascript脚本.

[日期:2008-04-23] 来源:  作者: [字体: ]

    
  刚刚在首页看到李老师的[为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" onclick="SayHello()" 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的数据.呵呵.
  
    


阅读:
录入:blue1000

评论 】 【 推荐 】 【 打印
上一篇:为JavaScript程序添加客户端不可见的注释
下一篇:修改LumaQQ.NET,使其支持长消息发送
相关文章      
本文评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款