查看: 59|回复: 0

[教程] phpcms下添加友情链接提示找不到link字段(字段名错误)的解决方法

[复制链接]

1

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-5-22
发表于 2013-10-12 09:58:27 | 显示全部楼层 |阅读模式
经过我对代码的对比,得出结论

1、新版与旧版的对比,发现增加了数据的安全性过虑
2、LOGO名称与LOGO地址的安全性处理。

问题就出在这里,官方升级的时候用了一个叫new_addslashes()函数进行数据过滤,这个函数本身没有问题。但是,由于过滤之后另外一行代码出了问题。如下:

更新后的代码: $data = new_addslashes($_POST);

修复后的代码: $data = new_addslashes($_POST['link']);
即,只要把phpcms\modules\link\link.php脚本文件里面找到 $data = new_addslashes($_POST);这行代码,然后把参数里面的$_POST更改为$_POST['link']即可。

因为new_addslashes对整个$_POST数据操作,会涉及到其它的数据.而此次安全过滤只针对$_POST中的link.

不会的朋友可以去phpcms官方重新下载20120907的补丁.覆盖服务器上的文件就OK了.

Post:
new_addslashes()函数不是用来对数据安全过滤的,刚好相反,是还原过滤过的数据.
safe_replace()和addslashes()才是用来数据安全过滤的
回复

使用道具 举报

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

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部