Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Discuz7.2导航栏菜单链接处理bug

[复制链接]
mark35 发表于 2013-1-5 18:39:46 | 显示全部楼层 |阅读模式
本帖最后由 mark35 于 2013-1-5 18:46 编辑

Discuz7.2 添加导航栏,登录后台依次进入 界面->界面设置->导航栏 可进行添加导航栏操作。通过点击某个导航栏进入导航栏编辑界面,如果菜单链接中包含
&
这个分割符,那么当你提交之后菜单链接中所有&都会变成
  1. [/font][/color]&
复制代码
这样的符号。

比如导航链接是

  1. http://zuoyifu.net/viewthread.php?tid=2063&test=1
复制代码

将会变成

  1. viewthread.php?tid=2063&test=1
复制代码


问题是在 admin/misc.inc.php 文件中,line1289:

  1.             $urlnew = dhtmlspecialchars(trim($urlnew));
复制代码

line1298:

  1.             $urladd = $nav['type'] == '1' && $urlnew ? ", url='".dhtmlspecialchars($urlnew)."'" : '';
复制代码

对提交的菜单链接进行了两次 htmlspecialchars() 处理,结果一个 & 第一次被转义成
  1. &
复制代码
然后其中的&再被第二次转义,结果就变成
  1. &
复制代码





修复方法:

把 line1298替换为如下即可

  1.             $urladd = $nav['type'] == 1 && $urlnew ?  ", url='". str_replace('&', '&', $urlnew). "'" : '';
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
HJH225999 发表于 2013-1-5 22:08:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

dengfeng0217 发表于 2013-1-6 09:08:39 | 显示全部楼层
顶起。支持
回复

使用道具 举报

下砂 发表于 2013-1-6 15:24:17 | 显示全部楼层
已反馈
回复

使用道具 举报

 楼主| mark35 发表于 2013-1-6 16:12:54 | 显示全部楼层
下砂 发表于 2013-1-6 15:24
已反馈

X2.5没有此bug。
另外看看我给你的pm,帮我查查呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-3-3 04:10 , Processed in 0.022721 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表