精华内容
下载资源
问答
  • js url加密解密

    2013-08-14 15:46:41
    js对文字进行编码及相应的解码函数 传递参数时 进行url跳转时
  • 今天在做一个老项目时,遇到一个需求,在javascripturl中的参数加密解密,从网上找发现了这段有用的代码: 代码如下: [removed]  <!– Begin  function Encrypt(str, pwd) {   if(str==””)return “”;...
  • JS url加密解密

    千次阅读 2017-05-09 14:43:07
    aa=UrlEncode(ss)bb=UrlDecode(ss)document.write(“编码后”+aa+””);document.write(“解码后:”+bb);

    aa=UrlEncode(ss)

    bb=UrlDecode(ss)

    document.write(“编码后”+aa+”
    ”);

    document.write(“解码后:”+bb);

    展开全文
  • .net调用JScript脚本及JS url加密解密,需要的朋友可以参考一下
  • 这次这个爬虫废了我好几天时间,第一次遇到js反爬虫策略,瞬间被打趴下了。不过研究了好几天之后终于是搞定了,求助的一个朋友,最后的原理我可能也不是太清楚,写下来,记录一下,有遇到类似问题的可以参考一下。 ...

    这次这个爬虫废了我好几天时间,第一次遇到js反爬虫策略,瞬间被打趴下了。不过研究了好几天之后终于是搞定了,求助的一个朋友,最后的原理我可能也不是太清楚,写下来,记录一下,有遇到类似问题的可以参考一下。

    这个反爬虫策略,具体是这样的,当我写了一个这样的get请求。

    content = requests.get(wanzurl).content

    前两百条,都会返回网页源码,然后我能得到我想要的数据,但是每24小时你通过代码访问的超过200条之后,就会返回一个js脚本,神奇的脚本,同一个网址,每次访问返回的脚本都不一样,js脚本是这样的。

    <script type="text/javascript">
        function UGy(UGy_) {
            function gn() {
                return getName();
            };
            return gn();
            return 'UGy'
        }
        function o9P() {
            'return o9P';
            return '17'
        }
        function getName() {
            var caller = getName.caller;
            if (caller.name) {
                return caller.name
            }
            var str = caller.toString().replace(/[\s]*/g, "");
            var name = str.match(/^function([^\(]+?)\(/);
            if (name && name[1]) {
                return name[1];
            } else {
                return '';
            }
        }
        W2 = 'v';
    
        function do(do_) {
            function w() {
                return getName();
            };
            return w();
            return 'do'
        }
        E0zT = function() {
            'return E0zT';
            return 'id=';
        };
    
        function Vo() {
            'Vo';
    
            function _V() {
                return '='
            };
            return _V();
        }
        _V4R9e = 'assign';
        _x2vzv = 'replace';
        _riss5 = location;
    
        function CY(CY_) {
            function f() {
                return getName();
            };
            return f();
            return 'CY'
        }
        gw4G = '&_d';
    
        function oPe(oPe_) {
            function ad() {
                return getName();
            };
            return ad();
            return 'oPe'
        }
        function M7n5() {
            'return M7n5';
            return '.ph'
        }
        eF9 = function(eF9_) {
            var _e = function(eF9_) {
                'return eF9';
                return eF9_;
            };
            return _e(eF9_);
        };
    
        function oq8() {
            'oq8';
    
            function _o() {
                return 'p?'
            };
            return _o();
        }
        kZsu = function() {
            'return kZsu';
            return 'f56';
        };
        xK9 = function(xK9_) {
            'return xK9';
            return xK9_;
        };
        eC = function() {
            'eC';
            var _e = function() {
                return 'o'
            };
            return _e();
        };
    
        function CjJ(CjJ_) {
            function si() {
                return getName();
            };
            return si();
            return 'CjJ'
        }
        function on(on_) {
            function m() {
                return getName();
            };
            return m();
            return 'on'
        }
        function b2(b2_) {
            function _b(b2_) {
                function u() {
                    return getName();
                }
                function b2_() {}
                return u();
                return b2_
            };
            return _b(b2_);
        }
        function KX0(KX0_) {
            function _K(KX0_) {
                function th() {
                    return getName();
                }
                function KX0_() {}
                return th();
                return KX0_
            };
            return _K(KX0_);
        }
        Nm = function() {
            'return Nm';
            return 'o';
        };
    
        function VlK() {
            'VlK';
    
            function _V() {
                return 'd='
            };
            return _V();
        }
        _MBGz6 = 'href';
        _MG5Qx = window;
        gm = '5';
        location = (function(g7Z_) {
            return (function(g7Z_) {
                return g7Z_;
            })(g7Z_);
        })('/f') + eC() + (function() {
            'return qy';
            return 'r'
        })() + b2('f2') + (function() {
            'return OB';
            return (function() {
                return 'm';
            })();
        })() + M7n5() + oq8() + on('f6') + Nm() + VlK() + W2 + (function(CJL_) {
            return (function(CJL_) {
                return CJL_;
            })(CJL_);
        })('ie') + do('ze') + KX0('Klt') + (function(DnX_) {
            return (function(DnX_) {
                return DnX_;
            })(DnX_);
        })('re') + oPe('nUH') + eF9('&t') + E0zT() + gm + xK9('67') + '57' + (function() {
            'return bK';
            return '9'
        })() + gw4G + CjJ('p49') + UGy('bNQ') + Vo() + o9P() + CY('S3') + '55' + kZsu();
        _MG5Qx.href = (function(g7Z_) {
            return (function(g7Z_) {
                return g7Z_;
            })(g7Z_);
        })('/f') + eC() + (function() {
            'return qy';
            return 'r'
        })() + b2('f2') + (function() {
            'return OB';
            return (function() {
                return 'm';
            })();
        })() + M7n5() + oq8() + on('f6');
    </script>

    看起来刁刁的,于是我尝试看一波js代码,看了一天之后,搞得我恶心的要死,于是求助我朋友,得到部分解密代码,

    var location{
    assign : set
    }
    var url = "";
    function set(s){
    url = s;
    }
    function get(){
    return url;
    }

    一共有四种解密的代码,已经全都写好了。大概讲一下思路,先将返回的js代码格式化,然后

    看到location调用了assign函数,然后定义一个结构是location的函数

    var location{
    assign : set
    }
    var url = "";
    function set(s){
    url = s;
    }
    function get(){
    return url;
    }

    然后python调用get函数,就能返回这个js脚本里面的参数。将写好的js代码,加到返回的js脚本里。

    这个服务器返回的js脚本直接执行的话,会在当前的url后面新增一个参数

    解密之后,把解出来的参数加到原来的链接之后再次发起请求,服务器就会返回数据。

     

    然后一个通过js动态添加参数的反爬虫策略被完美破解。其中的js代码也是经过混淆,非常的难以看懂,主要就是找到js脚本里面的location,window,和href几个参数,将即将返回的参数,通过添加js代码,直接取出来。

     

    整个破解原理大概是:多次请求之后,服务器不再直接返回源码,而是返回一个js文件,这个js文件执行之后,最终会向url栏添加一串参数,我们写一个函数,将它要返回给浏览器url地址栏的参数,返回出来就好了。。。

    不用管它加密的逻辑,反正他最终都要返回一个参数到url地址栏,也就是window.location.href的部分,去看这三个单词相关的代码,然后写代码将最后的参数返回到代码里进行拼接。

    展开全文
  • 参考1:http://www.w3school.com.cn/js/jsref_encodeURIComponent.asp参考2:http://www.w3school.com.cn/js/jsref_decodeURIComponent.asp实例:var test1="http://www.w3school.com.cn/My first/"document.write...

    参考1:http://www.w3school.com.cn/js/jsref_encodeURIComponent.asp

    参考2:http://www.w3school.com.cn/js/jsref_decodeURIComponent.asp

    实例:

    var test1="http://www.w3school.com.cn/My first/"

    document.write(encodeURIComponent(test1)+ "
    ")

    document.write(decodeURIComponent(test1))

    输出:

    http%3A%2F%2Fwww.w3school.com.cn%2FMy%20first%2F

    http://www.w3school.com.cn/My first/

    JS对象转URL参数&lpar;原生JS和jQuery两种方式&rpar;

    转自:点击打开链接 现在的js框架将ajax请求封装得非常简单,例如下面: $.ajax({ type: "POST", url: "some.php", da ...

    js如何获取url参数

    匹配URL参数的正则是: var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", ...

    js获取当前url参数

    //抓取url参数 function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theReque ...

    JS页面跳转加密解密URL参数

    页面跳转加密参数 window.location.href="foot.html?"+btoa(encodeURIComponent("goodid="+goo ...

    js加解密字符串

    项目中经常会有url带参并取参数值的问题,最常见的就是登录后再回到原来的页面redirect_uri,我们通常会使用 encodeURIComponent() 转码,当然简单的可以这样使用,如果涉及到 ...

    Js获取指定Url参数

    在 C#.PHP.JSP 中,都有直接获取 Url 中指定参数的方法,但 Javascript 却没有这样的现在方法,得自己写一个.在 Web 的开发过程中,获取 Url 中的参数是十分常用的操作,所 ...

    js获取当前url参数的两方式

    方法一:正则分析法function getQueryString(name) {    var reg = new RegExp("(^|&)" + name + &quo ...

    js正则获取url参数,包含hash&lbrack;&num;&rsqb;和search&lbrack;&quest;&rsqb;两种通用

    function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...

    随机推荐

    【UOJ &num;246】【UER &num;7】套路

    http://uoj.ac/contest/35/problem/246 神奇!我这辈子是想不出这样的算法了. 对区间长度分类讨论:题解很好的~ 我已经弱到爆了,看完题解后还想了一晚上. 题解中&qu ...

    AngularJS 表单提交后显示验证信息与失焦后显示验证信息

    虽然说AngularJS的实时表单验证非常有用,非常高效方便,但是当用户还没有完成输入时便弹出一个错误提示,这种体验是非常糟糕的. 正常的表单验证逻辑应该是在用户提交表单后或完成当前字段中的输入后,再 ...

    java项目

    http://www.java1234.com/a/kaiyuan/java/ http://www.cnblogs.com/burellow/archive/2011/04/22/2024871.h ...

    CRM中直接创建SAP订单的实施方案记录

    后台生成订单按钮JS do_alert('正在生成SAP订单,暂停所有操作,同时请不要关闭本窗口!'); var hefid = clientData.urlArgs.entityId; var ur ...

    windows的消息传递--消息盒子(超详细EM&lowbar;UNDO等消息)

    使用delphi的消息机制可以方便操作后台,其中重要的就是sendmessage()函数.下面讲解一下这个函数 function SendMessage(hWnd: HWND; Msg: UINT;  ...

    oracle分区表运行计划

    分区表有非常多优点,以大化小,一小化了,加上并行的使用,在loap中能往往能提高几十倍甚至几百倍的效果. 当然表设计得不好也会适得其反.效果比普通表跟糟糕. 为了更好的使用分区表,这里看一下分区表的运 ...

    div&plus;css基础教程

    本文存下来作为备忘. 第一节  了解div+css 一.什么是div+css div元素是html(超文本语言)中的一个元素,是标签,用来为html文档内大块(block-level)的内容提供结构和 ...

    BZOJ&period;3262&period;陌上花开&lpar;&lbrack;模板&rsqb;CDQ分治 三维偏序&rpar;

    题目链接 BZOJ3262 洛谷P3810 /* 5904kb 872ms 对于相邻x,y,z相同的元素要进行去重,并记录次数算入贡献(它们之间产生的答案是一样的,但不去重会..) */ #inclu ...

    Java LocalDateTime&comma;DateTimeFomatter----JDK8新时间类的简单使用

    JDK8中增加了一系列时间的类, (据说)是为了干掉过去的Date,Calendar类的, 过去的Date类(据说)有着线程不安全等诸多弊端, 至于我的个人感受就是用起来实在是很麻烦,我一般封装成几个 ...

    Thymeleaf select 数据回显 选中

    &l ...

    展开全文
  • javascriptURL中的参数进行简单加密处理 javascript的api本来就支持Base64,因此我们可以很方便的来进行编码和解码。 var encodeData = window.btoa("name=xiaoming&amp;age=10")//编码 var ...

    javascript对URL中的参数进行简单加密处理

    javascript的api本来就支持Base64,因此我们可以很方便的来进行编码和解码。

    var encodeData = window.btoa("name=xiaoming&age=10")//编码

    var decodeData = window.atob(encodeData)//解码。

    下面来个具体的例子来说明如何对url中参数进行转码,并取得解码后的参数

    假如要跳转的url = "stu_info.html?name=xiaoming&age=10"

    转码:url = "stu_info.html?"+window.btoa("name=xiaoming&age=10");

    跳转:window.open(url)或者window.locaton.href = url;

    解码:解码时我们首先要从url中获得参数列表,

    我们可以通过var paramsString = window.location.search来获取url中?号开始的内容(url的查询部分)即"?name=xiaoming&age=10";

    然后去掉?号 paramsString  = paramsString.substring(1) //"name=xiaoming&age=10"

    去掉& paramsString  = paramsString.split("&");//["name=xiaoming","age=10"]

     

    需要指出的是 window.btoa这中编码方式不能直接作用于Unicode字符串。只能将ascci字符串或二进制数据转换成Base64编码过的字符串。如果要对Unicode字符进行编码可以将做如下转换。

    var encodeData = window.btoa(window.encodeURIComponent("name=小明&age=10"))//编码

    var decodeData = window.decodeURIComponent(window.atob(encodeData))//解码。

     

    展开全文
  • JS 传参Url加密解密

    千次阅读 2016-08-03 13:15:45
    JS 加密: var url = URL参数; url=encodeURIComponent(url); java 后台解密: String menu_url = request.getParams("url");//参数取值因框架定 String url = java.net.URLDecoder.decode(menu_url,"UTF-...
  • 最近遇到 需要用js传三个值到另一个页面,不让参数直接显示在url 需要加密一下,如何处理?回复内容:最近遇到 需要用js传三个值到另一个页面,不让参数直接显示在url 需要加密一下,如何处理?常用的PHP函数...
  • [img=https://img-bbs.csdn.net/upload/201408/29/1409301902_605916.jpg][/... 问题: 1.怎么把的那3个参数用js的方法来加密? 2.我在跳转过去的页面后台用QueryString来获取这些加密参数后,怎么解密 。 求教!
  • 加密url

    2016-08-09 03:11:28
     韩梦飞沙 韩亚飞 313134555@qq.com  yue31313 han_meng_fei_sha ...可以采用 https 证书 双向 加密验证。...加密到 JNI 里面,还是可以通过抓包工具 获取到。
  • javascript url MD5加密解密,里面附带样例。 加密结果:?t=f&n=MTM0MDQ3NjMzMTEsNTgwLjAwLDU4LjAwLDU4MC4wMCwwMSwwMSwwMDA0LDE=&l=ea2dd4d6c1245e8f2a814181cbde34c1
  • url中参数加密

    千次阅读 2016-10-31 17:58:42
    最近在做url带参数跳转页面,发现url地址栏会显示请求的参数,用的是ajax中的post方式,但是貌似没有自动进行加密,这里找到一个解决方案,可以对url中的参数进行加密,在从url中获取参数时直接解密即可。...
  • 一:JsUrl中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面 Javascript代码: <script type=”text/javascript”>// <![CDATA[ function send(){ var url = "test01.html"...
  • url中的参数加密

    万次阅读 2017-04-17 10:47:27
    有时候我们需要在地址栏传输一些信息,比如查询数据的时候,传一个参数location.href = "/admin/extract?name="+"参数aaa"’但是我们直接...我们首先在页面引入js,<script type="text/javascript" src="/js/tools/c
  • js获取Blob加密图片url

    千次阅读 2018-01-25 15:02:54
    原文链接:... 1)使用 XMLHttpRequest 对象获取图片url的Blob值 //获取图片的Blob值 function getImageBlob(url, cb) { var xhr = new XMLHttpRequest(); xhr.open(
  • js脚本对url参数加密

    千次阅读 2014-05-15 16:49:21
    加密代码 function eb(ting)  { //传入要加密的url ... var paraString = ting.substring(ting.indexOf("?... //将加密后的参数重新组合到url中  var rul=ting.substring(0,ting.indexOf("?
  • url传递中文的解决方案1.设置web.config文件。 ...... ...... 2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。 >> 进行传递 string Name = "中文参数"; Response.Redirect("B.aspx?Name="+Server...
  • url传递中文的解决方案1.设置web.config文件。 ...... ...... 2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。 >> 进行传递 string Name = "中文参数"; Response.Redirect("B.aspx?Name="+Server...
  • url中文加密解密

    千次阅读 2017-12-14 16:23:49
    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。 下面简单介绍一下它们的区别 1 escape()函数 ...
  • Url 传递中文 加密

    千次阅读 2015-07-24 08:57:31
    JavaScript var url = "xxx.jsp?op=expExcel&carrierState="+encodeURI(encodeURI(carrierState)); //注意要用双层JSPString carrierState = request.getParameter("carrierState"); java.net.URLDecoder.decode...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,954
精华内容 28,781
关键字:

js中如何加密url