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

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

来自版块: 站长杂谈发表于: 2015-8-17 13:07:07
30876
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
    玩Emlog的朋友都知道,Emlog评论是可以带链接的,可能有很多朋友会加在链接上加入nofollow标签或直接用外链本地化插件,今天舍力将给大家讲一下非插件实现Emlog评论实现链接本地化的方法" O2 R1 g7 e: m* u  g9 P: p
    首先建立一个php文件(PS:命名的话由你自己来定,例如:sheli.php;最好放在根目录下,以便更好的调用),代码如下:[推荐使用]
  1. <?php
    ! E, P% i1 O1 _% x
  2. $go=$_REQUEST["go"];
    ' ~; D8 H0 n5 j  [" x' y( u; e
  3. function if_http($http_url)7 `. T, I2 O9 r, H
  4. {
    4 X/ p: Z$ Y, _- y7 l
  5. $url=$http_url;% H  G/ f$ W5 q: ^
  6. $preg='|^http://|';
    ' D4 E' ?2 _; Z, W
  7. if(!preg_match($preg,$url))
    ) w( ]$ \7 K: {0 x
  8. {$url='http://'.$url;}
    $ P7 L% E* v  s2 t- f+ ^
  9. $tz_url=$url;, N' ~+ S; L0 X
  10. return $tz_url;
    ; z/ R3 X( E3 Y) _: g
  11. }
    $ `( g5 t. ?' P1 L& k4 }8 r& m
  12. $web=if_http($go);
    ! I" M, a+ G- S- K* z) J7 N
  13. header("Location:$web");
    , D& d1 C! g6 ^
  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. <?php& k# B0 z! ^4 P) d. M
  2. $url=$_GET["go"];
    3 D" A4 _- r$ x' A
  3. header("Location:"."http://".$url);
    . H; _0 M  `/ `* I3 a8 M! C; q
  4. ?>
复制代码
调用示例:路径/sheli.php?go=跳转的网址
$ m; E' _! i/ f+ ?5 g# n

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

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

  1. $post = trim($post);5 }$ [! i4 y2 Y( n1 u0 m6 l
  2. $post = strip_tags($post,""); //清除html等代码4 G# Q$ g( @# T& y( [3 F8 l
  3. $post = ereg_replace("\t","",$post); //去掉制表符号, k( r2 q+ s9 P! R' U) }1 Q
  4. $post = ereg_replace("\r\n","",$post); //去掉回车换行符号8 U$ t$ [  [" |- t- s0 Y" E
  5. $post = ereg_replace("\r","",$post); //去掉回车
    2 w' s) o: l$ ?. Y! I
  6. $post = ereg_replace("\n","",$post); //去掉换行
    ! l$ _, B' Z0 w% H( ?6 O# n8 n
  7. $post = ereg_replace(" ","",$post); //去掉空格
    ( r* X% \* n5 M, y7 z( z- k( @- D
  8. $post = ereg_replace("'","",$post); //去掉单引号
复制代码


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


  i/ u8 H  [* k3 L

全部评论 0

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