非插件实现Emlog评论链接本地化的方法-站长杂谈下载

非插件实现Emlog评论链接本地化的方法

开通本站Svip会员,全站资源免费下
    玩Emlog的朋友都知道,Emlog评论是可以带链接的,可能有很多朋友会加在链接上加入nofollowTAG.html" target="_blank" class="relatedlink">标签或直接用外链本地化插件,今天舍力将给大家讲一下非插件实现Emlog评论实现链接本地化的方法
, H" {- B5 Q7 W& e* o- V: p5 A    首先建立一个php文件(PS:命名的话由你自己来定,例如:sheli.php;最好放在根目录下,以便更好的调用),代码如下:[推荐使用]
  1. <?php' B; ~1 l5 B$ p$ D
  2. $go=$_REQUEST["go"];
    ! P: u  G0 D& d" m- u3 a
  3. function if_http($http_url)
    1 _1 B  O" T, R" l8 m' ^
  4. {
    : ?& N2 O+ X% \# b; Z
  5. $url=$http_url;, z% D! e' e( Y
  6. $preg='|^http://|';3 `3 a! x& K5 Z3 V2 I% N
  7. if(!preg_match($preg,$url))
    ( L* }( H, D) H+ D
  8. {$url='http://'.$url;}
    # X# s  M3 \; o8 z, Y: D1 }
  9. $tz_url=$url;4 F3 M( i5 M* ^  K
  10. return $tz_url;
      U  [0 m' O! Y) t5 @) U
  11. }! w. }3 \) ~* R6 k) D; W
  12. $web=if_http($go);2 N4 l6 k9 `+ ^! N; ~
  13. header("Location:$web");# G: f4 r3 z* _! W
  14. ?>
复制代码
是的 然后去content/templates/模板文件夹名/module.php到博客评论列表那里找到
  1. href="'.$comment['url'].'"
复制代码
的替换为
  1. href="/sheli.php?go='.$comment['url'].'"
复制代码
其中的sheli.php为你自己放入根目录的文件,这样就搞定了,自己动手试试吧
    如何用php实现这个url跳转呢?只用简单的几行代码,就可以实现;新件一个文件夹[例:sheli.php],代码如下(ps:已经加入判断看是否有http://,有就直接跳转,没有就加上http://后跳转)
  1. <?php2 Y8 z9 J* }5 F( a
  2. $url=$_GET["go"];
    + {1 N* G! R% _" j  k+ `! W
  3. header("Location:"."http://".$url);
    # y+ M2 W! h2 S+ d- u4 |
  4. ?>
复制代码
调用示例:路径/sheli.php?go=跳转的网址
, t! f: U- f6 w. n) o: ?" i+ W

以上方法使用于所有php程序,主要区别在于,第一个方法不管你加不加http://都可以跳转,第二个方法如果加了http://跳转就会出错,当然你可以去掉其中的后台http://,当不加http://访问同样出错。

刚刚用360检测时发现有漏洞,强烈建议使用时加上如下代码(2014-12-5):

  1. $post = trim($post);+ H) e' I: q5 |" V/ T& w8 Z* \
  2. $post = strip_tags($post,""); //清除html等代码5 X6 ^' ?, e9 c- {. |6 P6 }
  3. $post = ereg_replace("\t","",$post); //去掉制表符号) D* k7 \5 \5 [, \; ]2 ?2 [1 o8 `
  4. $post = ereg_replace("\r\n","",$post); //去掉回车换行符号: x) |4 V7 w3 p. s5 J7 _5 Z$ v7 F
  5. $post = ereg_replace("\r","",$post); //去掉回车2 y! `! G7 `6 ?% p+ y* G( A# \
  6. $post = ereg_replace("\n","",$post); //去掉换行/ S2 I) [2 a# H/ L1 o
  7. $post = ereg_replace(" ","",$post); //去掉空格
    2 E# W+ e7 O3 V: X
  8. $post = ereg_replace("'","",$post); //去掉单引号
复制代码


当然如果要改变跳转路径,还可以把方法变变,例如在根目录创建一个go的文件夹,在里面创建一个index.php,代码使用上面推荐使用的代码,这样跳转的路径就可以变更为go/?url= ;测试 https://www.tuyuanma.com/go/?url=www.baidu.com


( S; ~& I6 S; ], T# {2 s4 g$ s

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部