全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2528|回复: 17

一键防反代

[复制链接]
发表于 2013-5-26 22:06:49 | 显示全部楼层 |阅读模式
本帖最后由 404 于 2013-5-26 08:08 编辑

第一, 我标题党了

第二, 不保证没BUG,  不保证后续支持, 不保证与使用者的现有程序不冲突,性能方面没做优化, 没做详尽测试, 使用者自承风险

使用方法, php>=5.3

单独一个站->手动把以下代码放置在代码顶部 (<?php 下面)
全局->保存成单独的php文件, 然后把路径设置在php.ini的auto_prepend_file里

  1. function miemie_hash_str($string, $add_mark='+'){
  2.     $len = strlen($string);
  3.     $chunk_length = mt_rand(1, $len)>>1;
  4.     $chunk_length = $chunk_length ? $chunk_length: 1;
  5.     $chunk_per_size = (int)($len/$chunk_length);
  6.     $chunk_per_size = $chunk_per_size ? $chunk_per_size: 1;
  7.     $result = array();
  8.     $current = 0;

  9.     while($current<$len){
  10.         $tmp = rand(1, $chunk_per_size);
  11.         $result[] = ($current && mt_rand(0,1)?" \n ":'').($current%2?"'":'"').addslashes(substr($string, $current, $tmp)).($current%2?"'":'"');
  12.         $current+=$tmp;
  13.     }
  14.     return join($add_mark,  $result);
  15. }

  16. function miemie_anti_proxy($url=false){
  17.     if($url === false){
  18.         $url = (empty($_SERVER['HTTPS'])?'http://':'https://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  19.     }
  20.     $val = '(window['. miemie_hash_str('top').']['.miemie_hash_str('location').']'.'=='. miemie_hash_str($url) .') || ('.'window['. miemie_hash_str('top').']['.miemie_hash_str('location').']'.'='. miemie_hash_str($url).');';
  21.     return $val;
  22. }

  23. ob_start(function($content){
  24.     // 关闭的时候在自己php文件顶部加一行
  25.     // define('MIEMIE_DISABLE', 1);
  26.     if(!defined('MIEMIE_DISABLE')) {
  27.         $inject_type = mt_rand(0,1);
  28.         $inject_content = miemie_anti_proxy();
  29.         if($inject_type == 0){
  30.             $content = preg_replace('~</head>~is', '<script'.(mt_rand(0,1)?"\n":"").">$inject_content</script>\n</head>", $content, 1);
  31.         }else if($inject_type == 1){
  32.             $inject_content = htmlspecialchars($inject_content);
  33.             $content = preg_replace('~<img([^>]+>)~is','<img '.(mt_rand(0,1)?"\n":"").'onerror="'.$inject_content.'" '.(mt_rand(0,1)?"\n":"").'onload="'.$inject_content.'"\\1', $content, 1);

  34.         }
  35.     }
  36.     return $content;

  37. });
复制代码
发表于 2013-5-26 22:07:56 | 显示全部楼层
知道了。
今晚吃咩肉云吞面。
发表于 2013-5-26 22:09:00 来自手机 | 显示全部楼层
好东西
发表于 2013-5-26 22:09:47 | 显示全部楼层
技术达人啊
发表于 2013-5-26 22:10:05 | 显示全部楼层
技术帖,收藏先
发表于 2013-5-26 22:10:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2013-5-26 22:18:33 | 显示全部楼层
DOS 发表于 2013-5-26 22:07
知道了。
今晚吃咩肉云吞面。

刚刚吃完 咩肉很香
发表于 2013-5-26 23:00:28 | 显示全部楼层
圈圈js防反代啊。

不过,还可以破的啊。
把window["t替换掉。JS就跑不了。
发表于 2013-5-27 06:08:49 | 显示全部楼层
马克
 楼主| 发表于 2013-5-27 09:19:33 | 显示全部楼层
smyz 发表于 2013-5-26 09:00
圈圈js防反代啊。

不过,还可以破的啊。

昨晚恍然发现连我都被反代了

其实可以填空空字符, 包括随机字符.replace....
js里global态可以拿this替代window..
再拿\xNNN, \uNNNN随机替代字符

不过现在这样已经够我用了......至少已经把几个反代站IP都挖了出来, 接下来就是判断IP然后301 location了

点评

圈啊 pm站点哦  发表于 2013-6-25 21:55
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-9-24 15:23 , Processed in 0.066787 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表