ورڈپریس څنګه بهرني لینکونه داخلي لینکونو ته بدلوي؟د مقالې بهرنۍ لینک په اوتومات ډول د داخلي لینک کوډ ته بدلیږي

WordPressڅنګه بهرنۍ اړیکې داخلي لینکونو ته بدل کړو؟

د مقالې بهرنۍ لینک په اوتومات ډول د داخلي لینک کوډ ته بدلیږي

ځینې ​​​​وختونه موږ ګوګل کووSEOدرجه بندي، د ځینو بهرنیو ویب پاڼو یا فورمونو شریکول چې د چینایي شبکې لخوا په ورډپریس ویب پاڼه کې بند شوي، دا ډول لینکونه د بندیدو خطر سره مخ دي.

له همدې امله، موږ اړتیا لرو چې په اتوماتيک ډول په مقاله کې ځینې بهرني لینکونه په داخلي اړیکو بدل کړو.

د بهرنیو اړیکو په داخلي اړیکو بدلولو ګټه

  • د امنیت سختول: د ناوړه غوښتنو پروړاندې ساده محافظت ته وده ورکول؛
  • د کود حالت: د html js جمپ حالت زیاتولو لپاره د نوسکریپټ ټګ وکاروئ؛
  • د کوډ کوډ کول: بیس 64 کوډ شوی بهرنۍ سلسله، د غیر کوډ شوي کود سره مطابقت لري؛
  • شاملول منع دي: د META بیان اضافه شوی چې د لټون انجن سپیډرونه د شاملولو او نیولو څخه منع کوي؛
  • ممنوع کارول: نور سایټونه زموږ د لارښوونې پاڼې کارولو څخه منع کړئ.

1 ګام: فایل د ویب پاڼې روټ لارښود ته اپلوډ کړئ

د کوډ دوه نسخې شتون لري چې په اتوماتيک ډول د ورډپریس مقالو بهرني لینکونه په داخلي لینکونو بدلوي:

  1. د پی ایچ پی نسخه
  2. د JS نسخه

د پی ایچ پی نسخه

لاندې PHP کوډ د go.php په توګه خوندي کړئ او د ویب پاڼې روټ لارښود ته یې پورته کړئ.

<?
php
if(strlen($_SERVER['REQUEST_URI']) > 255 ||
 strpos($_SERVER['REQUEST_URI'], "eval(") ||
 strpos($_SERVER['REQUEST_URI'], "base64")) {
 @header("HTTP/1.1 414 Request-URI Too Long");
 @header("Status: 414 Request-URI Too Long");
 @header("Connection: Close");
 @exit;
}
//通过QUERY_STRING取得完整的传入数据,然后取得url=之后的所有值,兼容性更好
$t_url = preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]);
//此处可以自定义一些特别的外链,不需要可以删除以下5行
if($t_url=="chenweiliang" ) {
 $t_url="https://www.chenweiliang.com/";
} elseif($t_url=="etufo") {
 $t_url="https://www.etufo.org/";
}
//数据处理
if(!empty($t_url)) {
 //判断取值是否加密
 if ($t_url == base64_encode(base64_decode($t_url))) {
 $t_url = base64_decode($t_url);
 }
 //对取值进行网址校验和判断
 preg_match('/^(http|https|thunder|qqdl|ed2k|Flashget|qbrowser):\/\//i',$t_url,$matches);
 if($matches){
 $url=$t_url;
 $title='页面加载中,请稍候...';
 } else {
 preg_match('/\./i',$t_url,$matche);
 if($matche){
 $url='http://'.$t_url;
 $title='页面加载中,请稍候...';
 } else {
 $url = 'http://'.$_SERVER['HTTP_HOST'];
 $title='参数错误,正在返回首页...';
 }
 }
} else {
 $title = '参数缺失,正在返回首页...';
 $url = 'http://'.$_SERVER['HTTP_HOST'];
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="robots" content="noindex, nofollow" />
<noscript><meta http-equiv="refresh" content="1;url='<?php echo $url;?>';"></noscript>
<script>
function link_jump()
{
 //禁止其他网站使用我们的跳转页面
 var MyHOST = new RegExp("<?php echo $_SERVER['HTTP_HOST']; ?>");
 if (!MyHOST.test(document.referrer)) {
 location.href="http://" + MyHOST;
 }
 location.href="<?php echo $url;?>";
}
//延时1S跳转,可自行修改延时时间
setTimeout(link_jump, 1000);
//延时50S关闭跳转页面,用于文件下载后不会关闭跳转页的问题
setTimeout(function(){window.opener=null;window.close();}, 50000);
</script>
<title><?php echo $title;?></title>
<style type="text/css">
body{background:#555}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:45%;left:50%;margin-left:-100px;margin-top:2px;color:#000;letter-spacing:1px;font-size:20px;font-family:Arial}.spinner{position:absolute;top:45%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:20px solid rgba(255,0,0,1);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}
</style>
</head>
<body>
<div class="loading">
 <div class="spinner-wrapper">
 <span class="spinner-text">页面加载中,请稍候...</span>
 <span class="spinner"></span>
 </div>
</div>
</body>
</html>

د JS نسخه

لاندې JS کوډ د go.html په توګه خوندي کړئ او د ویب پاڼې روټ لارښود ته یې اپلوډ کړئ.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="robots" content="noindex, nofollow" />
<script>
//base64加密解密函数
var base64EncodeChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function base64encode(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out="";while(i<len){c1=str.charCodeAt(i++)&255;if(i==len){out+=base64EncodeChars.charAt(c1>>2);out+=base64EncodeChars.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=base64EncodeChars.charAt(c1>>2);out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));out+=base64EncodeChars.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=base64EncodeChars.charAt(c1>>2);out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));out+=base64EncodeChars.charAt(((c2&15)<<2)|((c3&192)>>6));out+=base64EncodeChars.charAt(c3&63)}return out}function base64decode(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i<len){do{c1=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c1==-1);if(c1==-1){break}do{c2=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c2==-1);if(c2==-1){break}out+=String.fromCharCode((c1<<2)|((c2&48)>>4));do{c3=str.charCodeAt(i++)&255;if(c3==61){return out}c3=base64DecodeChars[c3]}while(i<len&&c3==-1);if(c3==-1){break}out+=String.fromCharCode(((c2&15)<<4)|((c3&60)>>2));do{c4=str.charCodeAt(i++)&255;if(c4==61){return out}c4=base64DecodeChars[c4]}while(i<len&&c4==-1);if(c4==-1){break}out+=String.fromCharCode(((c3&3)<<6)|c4)}return out}function utf16to8(str){var out,i,len,c;out="";len=str.length;for(i=0;i<len;i++){c=str.charCodeAt(i);if((c>=1)&&(c<=127)){out+=str.charAt(i)}else{if(c>2047){out+=String.fromCharCode(224|((c>>12)&15));out+=String.fromCharCode(128|((c>>6)&63));out+=String.fromCharCode(128|((c>>0)&63))}else{out+=String.fromCharCode(192|((c>>6)&31));out+=String.fromCharCode(128|((c>>0)&63))}}}return out}function utf8to16(str){var out,i,len,c;var char2,char3;out="";len=str.length;i=0;while(i<len){c=str.charCodeAt(i++);switch(c>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=str.charAt(i-1);break;case 12:case 13:char2=str.charCodeAt(i++);out+=String.fromCharCode(((c&31)<<6)|(char2&63));break;case 14:char2=str.charCodeAt(i++);char3=str.charCodeAt(i++);out+=String.fromCharCode(((c&15)<<12)|((char2&63)<<6)|((char3&63)<<0));break}}return out}function doit(){var f=document.f;f.output.value=base64encode(utf16to8(f.source.value));f.decode.value=utf8to16(base64decode(f.output.value))};
//获取请求参数,支持伪静态
function GetQueryString(name)
{
 var reg = new RegExp("(^|&)"+ name +"=(.*)$");
 var r = window.location.search.substr(1).match(reg);
 if(r!=null) {
 return unescape(r[2]);
 } else {
 return window.location.pathname.replace('/go/',''); //注意代码中的/goto/和跳转地址/goto/保持一致,请记得自行修改!
 }
}
var jump_url = GetQueryString("url");
//若传入的是base加密数据,则进行解密处理
if( jump_url==base64encode(base64decode(jump_url))) {
 jump_url = base64decode(jump_url);
}
//url简单正则
var UrlReg = "^((http|https|thunder|qqdl|ed2k|Flashget|qbrowser|ftp|rtsp|mms)://)";
//自定义一些跳转字符串,请根据实际需求自行发挥
if(jump_url=="chenweiliang") {
 var jump_url="https://www.chenweiliang.com/";
}
if(jump_url=="etufo") {
 var jump_url="https://www.etufo.org/";
}
//网址校验
if(jump_url == null || jump_url.toString().length<1 || !jump_url.match(UrlReg)) {
 document.title = '参数错误,正在返回首页...';
 jump_url = location.origin;
}
//延时执行跳转
setTimeout(
function link_jump()
{
//非本站域名不允许使用此跳转页面,请自行修改chenweiliang.com为自己的域名
 var MyHOST = new RegExp("chenweiliang.com");
 if (!MyHOST.test(document.referrer)) {
 location.href = "http://" + MyHOST;
 return;
 }
 location.href = jump_url;
}, 1000);
setTimeout(function(){window.opener=null;window.close();}, 50000);
</script>
<title>页面加载中,请稍候...</title>
<style type="text/css">
body{background:#555}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:45%;left:50%;margin-left:-100px;margin-top:2px;color:#000;letter-spacing:1px;font-size:20px;font-family:Arial}.spinner{position:absolute;top:45%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:20px solid rgba(255,0,0,1);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}
</style>
</head>
<body>
<div class="loading">
 <div class="spinner-wrapper">
 <span class="spinner-text">页面加载中,请稍候...</span>
 <span class="spinner"></span>
 </div>
</div>
</body>
</html>

مهرباني وکړئ بدلون ته پام وکړئ:// دا جمپ پاڼه د دې سایټ پرته د نورو ډومین نومونو لپاره د کارولو اجازه نلري، مهرباني وکړئ chenweiliang.com په خپل ډومین نوم بدل کړئ

کوم یو غوره دی، PHP یا JS؟

د PHP نسخه او د JS نسخه دندې یو شان دي، توپیر دا دی:

  • د PHP نسخه متحرک ده او یو څه سرور بار تولید شوی؛
  • او د JS نسخه براوزر ته اړتیا لري چې د JS ملاتړ وکړي ترڅو سم کار وکړي،
  • مګر اوس، ډیری براوزرونه یې ملاتړ کوي!

یادونه: که د ازموینې JS نسخه کود کوډ غلط وي، د PHP کود کوډ وکاروئ.

2 ګام: د function.php فایل ته کوډ اضافه کړئ

د کود پاڼې اپلوډ کولو وروسته، بل ګام د ورڈپریس تھیم function.php فایل کې د بهرني لینک کود کوډ اضافه کول دي.

د 2 څخه تر 1 کوډ:

  • 1) د کوډ کولو پرته بهرنۍ لینک کود
  • 2) د بهرني لینک کود بیس64 کوډ کول [سپارښتنه]

د کوډ کولو پرته بهرنۍ لینک کود

// 外链跳转无加密go.html?url
add_filter('the_content','link_to_jump',999);
 function link_to_jump($content){
 preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);
 if($matches){
 foreach($matches[2] as $val){
 if(strpos($val,'://')!==false && strpos($val,home_url())===false && strpos($val,'chenweiliang.com')===false && strpos($val,'ufo.org.in')===false && strpos($val,'etufo.org')===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val) && !preg_match('/(ed2k|thunder|Flashget|flashget|qqdl):\/\//i',$val))
{ 
 $content=str_replace("href=\"$val\"", "rel=\"nofollow\" target=\"_blank\" href=\"go.html?url=$val\" ",$content);

}
 }
 }
 return $content;
 }

د بهرنۍ لینک جمپ بیس 64 کوډ کول [سپارښتنه]

// 外链跳转base64加密go.html?url
 add_filter('the_content','link_to_jump',999);
 function link_to_jump($content){
 preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);
 if($matches){
 foreach($matches[2] as $val){
 if(strpos($val,'://')!==false && strpos($val,home_url())===false && strpos($val,'chenweiliang.com')===false && strpos($val,'ufo.org.in')===false && strpos($val,'etufo.org')===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val) && !preg_match('/(ed2k|thunder|Flashget|flashget|qqdl):\/\//i',$val))
{ 
 $content=str_replace("href=\"$val\"", "rel=\"nofollow\" target=\"_blank\" href=\"go.html?url=" .base64_encode($val). "\" ",$content);

}
 }
 }
 return $content;
 }

د بهرني لینک ډومین نوم مشخص کول په اتوماتيک ډول داخلي لینک ته نه بدلولو څخه شامل دي (ډومین نومسپین لیست):

&& strpos($val,'你的域名')===false

robots.txt مکڑی بندوي

د دې لپاره چې د لټون انجن سپیډرونه د جمپ لینکونو له کرال کولو څخه مخنیوی وکړي، موږ کولی شو قواعد اضافه کړو چې د لټون انجن مکڑی د robots.txt فایل کې د کرال کولو څخه منع کړي:

User-agent: *
Disallow: /go.html?url=*
Disallow: /go.php?url=*

دا مقاله پای ته نه ده رسېدلې، مهرباني وکړئ "پراخه لوستل" لوستلو ته دوام ورکړئ

غځول شوی لوستل:

امید چن وییلینګ بلاګ ( https://www.chenweiliang.com/ ) شریک شوی "څنګه ورڈپریس بهرني لینکونه داخلي لینکونو ته بدلوي؟د مقالې بهرنۍ لینک په اوتومات ډول د داخلي لینک کوډ ته بدلیږي" چې ستاسو لپاره ګټور دی.

د دې مقالې لینک شریکولو ته ښه راغلاست:https://www.chenweiliang.com/cwl-629.html

د نورو پټو چلونو د خلاصولو لپاره، زموږ د ټیلیګرام چینل سره یوځای کیدو ته ښه راغلاست!

که مو خوښه شوه لایک او شریک کړئ! ستاسو شریکول او خوښول زموږ دوامداره هڅونه ده!

 

评论 评论

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې کارول کیږي * لیبل

پاس شئ