首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >非插件实现Emlog评论链接本地化的方法

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

作者头像
用户8099761
发布2023-05-10 20:37:33
发布2023-05-10 20:37:33
3930
举报
文章被收录于专栏:私人订制私人订制

玩Emlog的朋友都知道,Emlog评论是可以带链接的,可能有很多朋友会加在链接上加入nofollow标签或直接用外链本地化插件,今天将给大家讲一下非插件实现Emlog评论实现链接本地化的方法

    首先建立一个php文件(PS:命名的话由你自己来定,例如:sheli.php;最好放在根目录下,以便更好的调用),代码如下:[推荐使用]

代码语言:javascript
复制
<?php
$go=$_REQUEST["go"];
function if_http($http_url)
{
$url=$http_url;
$preg='|^http://|';
if(!preg_match($preg,$url))
{$url='http://'.$url;}
$tz_url=$url;
return $tz_url;
}
$web=if_http($go);
header("Location:$web");
?>

是的 然后去content/templates/模板文件夹名/module.php到博客评论列表那里找到

代码语言:javascript
复制
href="'.$comment['url'].'"

的替换为

代码语言:javascript
复制
href="/sheli.php?go='.$comment['url'].'"

其中的sheli.php为你自己放入根目录的文件,这样就搞定了,自己动手试试吧


    如何用php实现这个url跳转呢?只用简单的几行代码,就可以实现;新件一个文件夹[例:sheli.php],代码如下(ps:已经加入判断看是否有http://,有就直接跳转,没有就加上http://后跳转)

代码语言:javascript
复制
<?php
$url=$_GET["go"];
header("Location:"."http://".$url);
?>

调用示例:路径/sheli.php?go=跳转的网址

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

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

代码语言:javascript
复制
$post = trim($post);
$post = strip_tags($post,""); //清除HTML等代码
$post = ereg_replace("\t","",$post); //去掉制表符号
$post = ereg_replace("\r\n","",$post); //去掉回车换行符号
$post = ereg_replace("\r","",$post); //去掉回车
$post = ereg_replace("\n","",$post); //去掉换行
$post = ereg_replace(" ","",$post); //去掉空格
$post = ereg_replace("'","",$post); //去掉单引号

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-9-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档