zoukankan      html  css  js  c++  java
  • 让客户端看不见你的Javascript脚本.

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

  • 相关阅读:
    netty编译报错
    idea快捷键:查找类中所有方法的快捷键
    vue修改浏览器的标题title
    django使用原生SQL的方法
    js 动态刷新页面日期
    H.264中的SPS和PPS
    CppProperties.json 参考
    FFmpeg代码导读——HEVC在RTMP中的扩展
    FFmpeg从入门到精通:SEI那些事
    FFmpeg代码导读——基础篇
  • 原文地址:https://www.cnblogs.com/robot/p/1165359.html
Copyright © 2011-2022 走看看