壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1288|回复: 5

关于系统设置中保障条款的乱码问题

[复制链接]
发表于 2010/7/7 13:38:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

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

x
在设置-系统设置中有个所有权保留条款 也叫设么么罗马尔帕条款
里面填写的汉字刷新之后会变成乱码。
这是系统编程的问题。
可以查到在 SystemParameters.php 中调用了 htmlentities()
函数,其实没有必要。
解决办法:
把这个函数去掉将
htmlentities($abc,xxx,xxx)
变为
$abc
就OK了。
还有几个文件也调用了此函数,统统都改掉把。
发表于 2010/7/7 14:07:30 | 显示全部楼层
本帖最后由 tj198 于 2010/7/7 21:20 编辑

LinOx:

         谢谢您的分享。
         htmlentites将输入转换为html格式,大大降低了Xss的风险。 如果您只是简单地将这个改成他所修饰的变量,会让系统变得不太安全。
          您可以到这个网页看看此函数的用法,http://php.net/manual/en/function.htmlentities.php 。 然后只要将相关的字符集设置成您目前使用的字符集就可以了。
           
        
 楼主| 发表于 2010/7/8 08:33:47 | 显示全部楼层
本帖最后由 LinOx 于 2010/7/8 08:52 编辑

嗯,有可能,但是系统中那么多文本输入的地方,可使用这个函数的仅寥寥,其它地方是不是也有问题啊?
有没有人试过,在这个地方如果去掉这个函数,然后在文本框中输入一段可执行代码,会出现什么结果啊?

发表于 2010/7/8 11:48:05 | 显示全部楼层
其实,我查了一下,官方在3.12的脚本也是如同楼主那样修改的。我考虑这个主要原因是htmlentities这个函数对UTF-8的支持无法满足要求而至吧。
发表于 2010/7/9 20:16:10 | 显示全部楼层
webERP是很多开发者花了大量心血的一款软件,对于安全尤其重视。如果您仔细查看要输入数据库的代码,文字处理几乎都用了DB_escape_string(),另外还设置了专门处理日期的脚本Datefunctions.inc.
数据库存处理的对象,字符,日期,数字,都尽量在使用之前经过处理,这在webERP中是一种惯例。另外,也多谢大家到这个网站www.minghao.hk的webERP演示版测试保障条款的乱码问题,并且留下您的杰作-:)。另外,在这个网站的论坛上,也翻译了php手册中关于htmlentities的部分内容。以供大家参考。
 楼主| 发表于 2010/7/10 12:11:21 | 显示全部楼层
嗯,昨天小试了一下,送到数据库的半角单引号会自动去掉。这应该就是 DB_escape_string 的功效吧。这么看来 htmlentities 是把输出的字串转换成 html 。 既然在放入数据库之前已经过滤过了,那么直接输出应该就是安全的吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 08:27 , Processed in 0.022739 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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