Discuz教程网

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

[复制链接]
authicon winson.yip 发表于 2013-2-15 08:10:40 | 显示全部楼层 |阅读模式
Discuz7.2 添加导航栏,登录后台依次进入 界面->界面设置->导航栏 可进行添加导航栏操作。通过点击某个导航栏进入导航栏编辑界面,如果菜单链接中包含

&
这个分割符,那么当你提交之后菜单链接中所有&都会变成
    &

复制代码

这样的符号。


  
比如导航链接是


  
    viewthread.php?tid=2063&test=1

复制代码


  
将会变成


  
    viewthread.php?tid=2063&test=1

复制代码


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


  
                $urlnew = dhtmlspecialchars(trim($urlnew));

复制代码


  
line1298:


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

复制代码


  对提交的菜单链接进行了两次 htmlspecialchars() 处理,结果一个 & 第一次被转义成
    &

复制代码
然后其中的&再被第二次转义,结果就变成
    &

复制代码

  
  
  
  修复方法:


  
把 line1298替换为如下即可



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

复制代码



上一篇:附件上传 设置了 20 m 怎么超过 8m 就上传不上去了
下一篇:自己制作风格 为什么导航鼠标事件没有了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-6-18 06:13

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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