您的位置:首页 > 移动开发

棋牌H5类APP推广方案及域名防封技

2019-02-26 22:39 99 查看

近来域名防封技术已经被众多商家重视了,估计大部分朋友已经对防封这方面有了一定的了解。本人一直专注防封这块也有几年时间了,所以在技术方面也在一直向更深层次的方向做研究,今天来分享下最近时间的研究成果。

防封方面

1、跳转破微信封域名,这个技术的原理是域名批量解析生成N个二级域名,域名无限替换跳转;并且网页入口、落地页、转发到朋友圈的域名都不同,即使被举报了短时间内也不会有问题。

2、仿举报页面,其原理就是在网页上自己做一个举报按钮,举报页面也是仿微信举报选项,不过只能解决普通小白用户的举报。目前可恶的同行开发了模拟人工举报的软件,走的微信举报流程,让人防不胜防。

3、租防封域名,这个域名本质上是有备案号+游戏备案号+微信白名单的域名。

4、CDN防护原理,利用高仿服务器转发你的链接,经过防火墙的屁胡流量等技术细节,让域名被微信封的几率大大降低,但是不能100%防封,不过目前该技术防封效果是最好最持久的。

具体的实现过程我不多说,大家可以去看我其他的文章,目前这块的技术已经相对较成熟,今天来说的是在防封基础上增加的两个功能模块。

测试地址:http://www.zjychina.cn

转发模块

大家都知道,经过微信防封处理过生成的模拟域名是不支持转发的,主要有两方面原因。

第一是因为处理过得链接的指向是不确定的,因为它是通过转跳生成的模拟域名,真实情况是这个链接是不存在的,通过技术手段,我们给这条链接赋予一个值,让这条链接复制转发后能正常打开。

第二是微信的转发是基于微信公众平台来实现的,一个老号最多每天能接受的转发量是有限制的,(太多平台容易被封)。这两点原因造成了防封链接转发的困难性,最近呢,通过技术团队的不懈努力,转发功能终于实现了,修改程序底层代码,模拟微信公众平台登录,调用文章信息,实现转发。

登录模块

众所周知,防封后的链接是不支持微信授权登录的,具体的原理呢在这里就不说了,我怕微信叔叔打我,经过无数个日日夜夜的苦心研究,整体来说就是现在可以登录了,而且稳定性也是相当的可以,每天120w次点击的情况下,各功能模块尚未发现紊乱,链接打开正常,可以正常授权登录。从效果看,我们是成功的。

有了这两个模块的加入,在微信防封这一块的技术已经趋于完善了,无论是转发、分享还是授权登录种种难关已经克服。

下面给大家分享之前写过的一段处理代码:

$url = "http://api.monkeyapi.com";

$params = array(

'appkey' =>'appkey',//您申请的APPKEY

'url' =>'www.monkeyapi.com',//需要查询的网站

);

$paramstring = http_build_query($params);

$content = monkeyCurl($url, $paramstring);

$result = json_decode($content, true);

if($result) {

    var_dump($result);

}else {

    //请求异常

}

/**

    * 请求接口返回内容

    * @param    string $url [请求的URL地址]

    * @param    string $params [请求的参数]

    * @param    int $ipost [是否采用POST形式]

    * @return    string

*/

function monkeyCurl($url, $params = false, $ispost = 0)

{

    $httpInfo = array();

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);

    curl_setopt($ch, CURLOPT_TIMEOUT, 60);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    if ($ispost) {

        curl_setopt($ch, CURLOPT_POST, true);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

        curl_setopt($ch, CURLOPT_URL, $url);

    }else {

        if ($params) {

            curl_setopt($ch, CURLOPT_URL, $url.'?'.$params);

        } else {

            curl_setopt($ch, CURLOPT_URL, $url);

        }

    }

    $response = curl_exec($ch);

        if ($response === FALSE) {

        //echo "cURL Error: " . curl_error($ch);

        return false;

    }

    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));

    curl_close($ch);

    return $response;

}


 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐