discuz不修改代码达到允许referer跳转到同顶级域名的解决方案

所属分类: CMS教程 / discuz 阅读数: 1362
收藏 0 赞 0 分享
查看了discuz的drerferer方法.发现它不允许跳转到不同子域名的跳转.
如果想跳转,可以修改这个方法,允许.但是这样处理会在以后升级时,又得要修改.比较麻烦.
再想一下,discuz这样处理,简单的个人理解,就是假设有人想干干事.那在某个位置放置一个跳转到其它网站上的url,然后再把这个网站仿得跟之前使用的那个"正版"网站一样,就可以达到骗取密码之类的目的了.所以这是比较危险.或者这个方式还有更加多的利用.所以.它做了这个防止.
现在我要说的是使用一个不变动的方式来增加跳转功能.

在discuz的根目录下放置一个:referer.htm文件.内容如下,主要是为了能跳过去.且在这个文件中做一个跳的域名的判断.不符合就简单的跳到首页,因为?号会导致服务尝试查询解析,所以就不用了.还是用hash吧.

复制代码
代码如下:

<script>
/* by qidizi: discuz 不允许跳转到其它域名,现使用js处理,减少修改的工作量,允许跳到同顶域--不能跳到其它域,防止仿站之类的欺骗*/
(function(){
var topDomain = location.host.split('.');
topDomain = topDomain[topDomain.length-2]+'.'+topDomain[topDomain.length-1];
if (location.hash.length < 3) return location = 'http://' +location.host + '/';
var referer = unescape(location.hash.replace(/#/g, '').replace('%_', '%'));
if (new RegExp('^http\\:\\/\\/([^\\/]+\\.)?' +topDomain+ '\\/', 'i').test(referer)) {//同top domain
location = referer;
} else {
location = 'http://' +location.host + '/';
}
})();
</script>

使用方式如下.使用js生成的一个退出链接,点击退出成功再会退出当前的这个页面.这样这个目的就达到了.
+ ' <a href="http://bbs.qidizi.net/member.php?mod=logging&action=logout&formhash=' +json['formHash']+ '&referer=/referer.htm' +escape('#') +escape(location).replace(/%/g, '%_')+ '" target="_self">退出</a>'
ok,经过测试.此方案工作正常
更多精彩内容其他人还在看

Discuz! X2.0 邮件发送返回错误信息的解决方法

最近在安装Discuz!X2.0时,检测邮件设置时,总是提示 邮件发送返回错误信息,参考下面的方法解决了
收藏 0 赞 0 分享

Discuz! x2去除forum.php尾巴的方法小结

首先声明:这是一篇去除discuz论坛中forum.php尾巴最全的方法,之前也看到过类似的文章,但按照步骤操作后,大家会发现还有很多地方没有去掉forum.php尾巴。这样不利于网站seo。今天,为大家整理了最完美的去除forum.php尾巴的方法
收藏 0 赞 0 分享

discuz 论坛注册的时候提示 内部错误,无法显示此内容的解决方法

示内部错误的时候,大家就可以安心了,因为一般都是xml格式的问题,或网速问题或于ucenter配置不正确等
收藏 0 赞 0 分享

Discuz! 应用中心操作指南(图文教程)

前不久,康盛公司(Comsenz)正式发布了Discuz! X2.5新版及Discuz! 应用中心。Discuz! 应用中心不仅代表着Discuz! 的第三次开放,而且以方便快捷著称,那么它究竟是否如形容所说支持一键操作,方便了站长呢?笔者第一时间下载了新版,决定一探究竟。
收藏 0 赞 0 分享

Discuzx2 开发标准流程笔记

研究了有一个月的discuz x2的源代码。然后有了一些开发的心得。写心得也算是一种回顾,温故而知新嘛
收藏 0 赞 0 分享

DISCUZ教程之如何让网站的x默认宽屏显示

现在很多液晶显示器都是宽屏显示了.如果再把网站做的很窄.会不好看的.如何让默认的显示成宽屏的呢?下面我们来介绍一下
收藏 0 赞 0 分享

Discuz教程之关于安装使用时的一些小细节问题的总结

Discuz安装的教程想必大家都看过了.有的时候会有些细小的地方教程难免没有说明.现在我们从细小处再找找常见的问题
收藏 0 赞 0 分享

discuz文件结构详解,discuz模板文件介绍

discuz文件结构详解,discuz模板文件介绍,方便制作模板的朋友
收藏 0 赞 0 分享

DISCUZ!论坛详细安装方法以及调试过程(图文教程)

本文教你把DISCUZ!安装与调试的方法详细的写出来,以供参考
收藏 0 赞 0 分享

Discuz论坛从X2升级到X2.5时陷入死循环的解决办法(图文教程)

dz论坛从X2升级到X2.5出现了问题,升级陷入死循环
收藏 0 赞 0 分享
查看更多