a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > PHP > 正文

PHP服務端代理頁面開發

2020-03-24 19:13:19
字體:
來源:轉載
供稿:網友
最近公司暫時斷開外網,只開放公司自己所有的站點允許訪問,說實在的,做WEB開發的斷網,真是讓人哭笑不得......由于需要查找資料,只好簡單寫了一個PHP的服務端代理頁面來用一下!簡單框架頁面:
以下為引用的內容: style type= text/css
*{margin:0;padding:0;}
html,body{overflow:hidden;}
td{padding:0;vertical-align:top;}
/style
table width= 100% height= 100% cellspacing= 0 cellpadding= 0 border= 0
tr
td > form method= post action= action_get.php target= actioncontent > input type= text id= targeturl name= targeturl > /form
/td
/tr
tr
td
iframe name= actioncontent > /td
/tr
/table
script type= text/javascript
window.onload = function(){
document.getElementById('targeturl').focus();
};
/script
以下為引用的內容: ?php
//使用Snoopy的抓頁功能
include Snoopy.class.php
//目標URL
$url = $_REQUEST['targeturl'];
//將所有傳遞過來的參數列出來
$par = array();
$GetPost = array_merge($_POST,$_GET);
foreach($GetPost As $Key= $Value){
if($Key!='targeturl'){
$Value = str_replace( %25 , % ,$Value);
array_push($par,($Key . = . $Value));
}
}
//判斷目標URL是否帶有?(即是否帶有參數)
$cc = strpos($url, ? ) ? : ?
//重組URL
$geturl = !$par ? $url : $url.$cc.implode( ,$par);
//抓取重組后的URL頁面內容
$snoopy = new Snoopy;
$snoopy- fetch($geturl);
//替換目標內容中腳本里有可能替換父窗口地址的代碼
$org = str_replace( top.location , top.title ,$snoopy- results);
//嘗試轉換目標內容編碼到UTF-8
$opt = iconv( gbk , utf-8 ,$org);
//判斷目標內容編碼為GBK或UTF-8
$ec = strlen($opt)? gbk : utf-8 ?
script type= text/javascript
//封閉運行,避免與后面內容中腳本混亂
(function(){
var easyUTF8 = function(gbk){if(!gbk){return '';}var utf8 = [];for(var i=0;i gbk.length;i++){var s_str = gbk.charAt(i);if(!(/^%u/i.test(escape(s_str)))){utf8.push(s_str);continue;}var s_char = gbk.charCodeAt(i);var b_char = s_char.toString(2).split('');var c_char = (b_char.length==15)?[0].concat(b_char):b_char;var a_b =[];a_b[0] = '1110'+c_char.splice(0,4).join('');a_b[1] = '10'+c_char.splice(0,6).join('');a_b[2] = '10'+c_char.splice(0,6).join('');for(var n=0;n a_b.length;n++){utf8.push('%'+parseInt(a_b[n],2).toString(16).toUpperCase());}}return utf8.join('');};
var getArgs = function(surl){var sarg = surl.split('?'),rv={};rv.filename=sarg[0];if(!sarg[1]){return rv;}var aarg=sarg[1].split(' '),atmp=[];for(var i=0;i aarg.length;i++){atmp=aarg[i].split('=');rv[atmp[0]]=atmp[1];}return rv;};
var createIPH = function(name,value){if(!name){return;}if(/msie/i.test(navigator.appVersion)){return document.createElement(' input type= hidden name= '+name+' value= '+value+' / }else{var dfi = document.createElement('input');dfi.type = 'hidden';dfi.name = name;dfi.value = value;return dfi;}};
//回顯目標URL到父窗口文本框
var dtu = top.document.getElementById('targeturl');
if(dtu){dtu.value = ' ?php echo $geturl;? }
//目標URL及domain
var sref = ' ?php echo $url;?
var sdomain = sref.match(/^http:////[^//]*/i)[0];
//頁面加載后執行下面的過程
var process = function(){
//抓取頁面中所有鏈接
var dlink = document.getElementsByTagName('a'),la = dlink.length;
//抓取頁面中所有表單
var dform = document.getElementsByTagName('form'),lf = dform.length;
//遍歷所有鏈接,替換它們的href地址
for(var i=0;i i++){
var src = dlink[i].href.toString().replace(/^http:////www/.w3cgroup/.com(?://geturl)?/i,sdomain);
var oargs = getArgs(src),ahref = [];
//UTF-8編碼參數值
for(var d in oargs){
if(!d||d=='filename'||!oargs[d]){continue;}
ahref.push(d+'='+encodeURIComponent(easyUTF8(oargs[d])));
}
var ghref = ahref.length?oargs.filename+'?'+ahref.join(' '):oargs.filename;
//重設鏈接地址
dlink[i].+ghref;
}
//遍歷所有表單,替換它們的action地址
for(i=0;i i++){
//抓取表單action并處理
var src = dform[i].action.toString().replace(/^http:////www/.w3cgroup/.com(?://geturl)?/i,sdomain);
if(!(/^http/.test(src))){src = (/^//.*$/.test(src))?(sdomain+src):(sdomain+'/'+src);}
//創建一個隱藏域targeturl,值為上面處理的src地址
var dfi = createIPH('targeturl',src);
dform[i].appendChild(dfi);
//創建一個隱藏域ie,值為utf-8,純屬為搜索引擎使用
var dfi2 = createIPH('ie','utf-8');
dform[i].appendChild(dfi2);
//重設表單提交目標窗口
dform[i].target = 'actioncontent';
//重設表單action地址
dform[i].action = 'http://www.w3cgroup.com/geturl/action_get.php';
//重設表單onsubmit事件,用來UTF8編碼字段值
dform[i].onsubmit = function(){
var dlms = this.elements,l = dlms.length-1,pn = '',pt = '',pv = '';
for(var i=0;i i++){
pn = dlms[i].name,pt = dlms[i].type,pv = dlms[i].value;
if(!pn||pn=='targeturl'||pn=='ie'){continue;}
if(pt=='submit'||pt=='reset'||pt=='button'){
dlms[i].value = encodeURIComponent(pv);
}else{
dlms[i].value = encodeURIComponent(easyUTF8(pv));
}
}
};
}
};
//綁定該過程到window.onload
if(document.attachEvent){window.attachEvent('onload',process);}else{window.addEventListener('load',process,false);}
})();
/script
//腳本放在輸出內容前,避免內容中可能出現腳本錯誤而導致我們要做的事情被廢掉
//輸出抓到的目標頁面內容
?php echo ($ec== gbk )?$opt:$org;?
在這個小作品中,我編寫了一個重要的JavaScript函數easyUTF8,它可以很方便地在JavaScript腳本中將GBK編碼的內容轉換為UTF-8編碼。我們還處理了一下表單中添加項目的兼容問題,注意看createIPH函數,在IE中創建的表單項內容,在指定name和value時可能會出現我們不希望的結果,這在DHTML手冊中已經有過描述了。html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产视频一二三区 | 色精品视频 | 夜夜躁狠狠躁夜躁2021鲁大师 | 国产区免费 | 国产精品欧美一区二区 | 久久在线视频 | 亚洲国产精品一区二区久久 | 久久不卡日韩美女 | 最新精品久久 | 亚洲色图网站 | 国产成人精品一区二 | 在线不卡日韩 | 人人射人人爱 | 成人欧美一区二区三区在线播放 | 久久久久久91 | 精品欧美激情在线观看 | 久久综合九色综合欧美狠狠 | 午夜激情视频免费 | 亚洲精品视频三区 | 国产中文字幕在线 | 午夜视频观看 | 国产一区二区三区免费在线 | 性视频网站免费 | 久久国产一区视频 | 精品一区二区三区免费毛片爱 | 一区二区在线视频观看 | 成人欧美一区二区三区在线播放 | 国产日韩精品一区二区 | 四虎最新紧急入口 | 成人欧美一区二区三区在线湿哒哒 | 日韩大片免费看 | a国产视频| 久久福利 | 国产成人精品久久 | 国产精品毛片在线看 | 国产视频91在线 | 天天天色综合 | 久久久综合亚洲91久久98 | 日韩在线欧美 | 美女扒开内裤让男人桶 | 国产98色在线 | 日韩 |