2019【西游手游】一键服务端+安卓端+...
搭建源码
简洁小清新个人Typecho情侣主题Cupid...
2019高端响应式工程机械设备公司网站...
安徽健康网/PHPCMS健康网门户网源码
响应式医学临床研究类网站织梦dedecm...
Dedecms5.7文章标题长度修改方法小结...
才出的一款迅睿微信抖音小程序生成管...
榆落微时光1.0.39开源源码 小程序微商...
最新游戏辅助推广网站,大气吃鸡辅助...
我的一个站点正在跑phpcms v9 官方出了补丁包,安装上了补丁 就没多在意去搭理, 但最近在添加友情链接的时候 提示找不到link字段,字段名错误
经过我对代码的对比,得出结论
1、新版与旧版的对比,发现增加了数据的安全性过虑
2、LOGO名称与LOGO地址的安全性处理。
问题就出在这里,官方升级的时候用了一个叫new_addslashes()函数进行数据过滤,这个函数本身没有问题。但是,由于过滤之后另外一行代码出了问题。如下:
更新后的代码: $data = new_addslashes($_POST);
修复后的代码: $data = new_addslashes($_POST['link']);
即,只要把phpcmsmoduleslinklink.php脚本文件里面找到 $data = new_addslashes($_POST);这行代码,然后把参数里面的$_POST更改为$_POST['link']即可。
因为new_addslashes对整个$_POST数据操作,会涉及到其它的数据.而此次安全过滤只针对$_POST中的link.
不会的朋友可以去phpcms官方重新下载20120907的补丁.覆盖服务器上的文件就OK了.
Post:
new_addslashes()函数不是用来对数据安全过滤的,刚好相反,是还原过滤过的数据.
safe_replace()和addslashes()才是用来数据安全过滤的
