DEDE漏洞百出,在PHP.INI中禁用了fsockopen函数后,原来正常的远程存图功能无效了,而一个站点使用了DEDE v5 ,看了下升级似乎是件非常麻烦的事情,而自己又没有时间捣腾,所以希望在现目前的条件下解决DEDECMS无法远程存图的问题,今天终于搞定收工。
一,先从自己运行DEDECMS的配置环境入手:检查PHP.INI里面的充许载远程图片和资源的参数设置是否是ON,如果是OFF改成ON。(如果此文件正常无须修改)
二,找到DEDECMS钟的include/pub_httpdown.php 替换 5.6版本dedecms 的include/dedehttpdown.class.php(注意,是先改名再替换) 就可以了
如果:fsockopen 被禁用,请在dedehttpdown.class.php中替换成pfsockopen,如果两者都被禁用,可以参考本阁文章:
针对fsockopen pfsockopen函数被禁用的解决方法
注意 :
5.6版本的pub_httpdown.php前面有段代码为:
if(!defined(‘DEDEINC’))
{
exit(‘dedecms’);
}
需要删除,然后更名上传使用,不然后台会不显示,似乎是为了兼容的考虑。