05 : 36 : 51

点击下载

    
js库方法及说明:
文档只标出主要方法!
类名:urlDefender
方法:
    构造函数(salt=='')
        //salt为唯一值,尽量不同防止暴力破解!salt须与php中的$salt相同,否则会认为不是同一操作者!
    get(data, resultType = 'json')
        //data可为json字符串,json对象,url参数字符串(a=1&b=2)
        //resultType指定返回值类型,为字符串 json,string(a=1&b=2)
    getJson(data)
        //同上,默认resultType 为 json
    getString()
         //同上,默认resultType 为 string
    setSalt(salt)
        //重新设置salt值,salt须与php中的$salt相同,否则会认为不是同一操作者!
        
php库方法及说明:
文档只标出主要方法!
类名:urlDefender
方法:
     构造函数($method, $salt = '') 
        //$method为当前请求类型,$salt须与js中的salt相同,否则会认为不是同一操作者!
    defend($type = 'header')
        //开启保护!$type为参数传递方式(header,get,post,cookie)
    exit()
        //需配合defend方法,如果非法访问会停止php脚本执行并输出json格式拦截参数标号及说明!
    return()
        //需配合defend方法,如果非法访问会返回拦截参数标号及说明数组!
    refresh($method = '', $salt = null)
        //手动刷新上次结果,一般不用手动调用,urlDefender会自动调用
     setResultArg($resultArg)
        //规定返回值的格式,$resultArg为数组,格式为['code' => 'code', 'msg' => 'msg', 'successCode' => 1, 'failCode' => 0,
                 'lostCode' => -1, 'errorCode' => -2, 'cofigErrorCode' => -3, 'lostMsg'=> '参数丢失',
                 'errorMsg'=> '参数错误','timeoutMsg'=> '参数过期']
    setMethod($method)
        //重新设置当前请求类型
    setSalt($salt)
        //重新设置$salt,$salt须与js中的salt相同,否则会认为不是同一操作者!
    setLimitTime($limitTime)
        //设置每次请求有效期,默认30秒
        
        
js例子:
//以jq为例
var data = {
        a: 1,
        c: 6
    };
    $.ajax({
        type: "post",
        url: "a.php",
        data: data,
        headers: (new urlDefender('a')).get(data, 'json'),
        dataType: "json",
    });  
    
php例子:
<?php
require('urlDefender.php');
$o=new UrlDefender('post','a');
$o->defend()->exit();
//若无非法请求则继续执行其他代码
echo ''I am here;
?>