禅道的文本框录入保存有个编码的bug

2024-04-08 10:16:27
酒量大的遥控器
  • 访问次数: 5
  • 注册日期: 2024-04-08
  • 最后登录: 2024-05-23
  • 我的积分: 81
  • 门派等级: 无门派

如果标题带有&符号,下次编辑需求单,随便改点别的地方,不改标题,就会把&转码成&

下次再编辑保存,又会把&转码了,就这样无限转

我用的禅道版本是开源版18.3,其他版本不确定有没有这个问题,我猜禅道应该会对文本进行urlencode编码,以下几种都会有问题:

& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 &lt;
> (大于)成为 &gt;


+10
沙发
2024-04-08 10:24:40
❤️️‍️️️ 禅道 闫敏
  • 访问次数: 1645
  • 注册日期: 2019-03-11
  • 最后登录: 2024-04-29
  • 我的积分: 5578
  • 门派等级: 释迦 等级6
目前使用的禅道版本时多少? 

目前18.11 版本没有复现这个问题 ,可以在测试环境试试:https://zentao.demo.qucheng.cc/user-login-Lw==.html

板凳
2024-04-08 11:13:08 回复#1
酒量大的遥控器
  • 访问次数: 5
  • 注册日期: 2024-04-08
  • 最后登录: 2024-05-23
  • 我的积分: 81
  • 门派等级: 无门派


这个环境也复现了,就是创建或变更一个需求单,标题中带有&,然后下次编辑需求单随便改点别的,保存,标题就会出现这个

#3
2024-04-08 11:21:05 回复#1
酒量大的遥控器
  • 访问次数: 5
  • 注册日期: 2024-04-08
  • 最后登录: 2024-05-23
  • 我的积分: 81
  • 门派等级: 无门派

我翻了下源码,问题出在框架对post数据进行编码的地方,story model里面的update方法,会把title反复传进去,然后反复进行编码


module/story/model.php

lib/base/filter/filter.class.php

酒量大的遥控器 最后编辑, 2024-04-08 11:23:02
#4
2024-04-08 12:09:27
禅道-Bee
  • 访问次数: 5160
  • 注册日期: 2017-02-22
  • 最后登录: 2024-05-24
  • 我的积分: 41316
  • 门派等级: 幽灵 等级5 天魔
复现了,这儿我们记录下问题。谢谢反馈。
1/1 1