Ecshop中recieve.php判断不严谨导致邮件自动确认收货
酸橘子网站开启了发货邮件通知,即后台员工点击发货时会自动发送邮件到用户预留的联系邮箱中,几乎国外的网站都是这样操作的,所以酸橘子也当仁不让 的选用此种方式来通知用户。但不料没多久,不少用户反映自己明明没有点击邮件中的确认收货链接,但是进入个人中心却发现订单状态已经更改为了已经收到货的 状态了。
创新互联公司服务项目包括加查网站建设、加查网站制作、加查网页制作以及加查网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,加查网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到加查省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
初分析,图中链接是由recieve.php文件生成的,链接参数ver的值泄露,招到他人恶意点击,于是改了默认的算法,结果发现无效果,仍然测
试中,订单会自动确认收货。再次查找ecshop内能改变订单状态为确认收货的文件,最后确认只有recieve.php这一个文件涉及到确认收货的环
节。上服务器查看访问日志,确实是正常访问了带新算法值的正确参数,这就奇了怪了,不像是被人恶意为之。
再看一下访问地址,好像有点端倪,都是广东深圳的,难道还是某人恶意事件?
正在犹豫不决时,同事sky提醒到,该不会是QQ邮件防垃圾系统点的吧。这里说明一下,公司用的是QQ企业邮箱。尼妹的,看IP,深圳,100%应该是了。
由于Ecshop傻蛋的recieve设计是用户点了链接直接就改变订单状态到确认收货,而QQ邮件spam系统会自动去点邮件里的链接是不是垃圾或者广告地址,所以,用户就蛋疼了,全被点成确认收货了,只能改recieve了。
将之前的确认收货页面改成如下格式:
//确认页面 $act = !empty($_REQUEST['act']) ? rawurldecode(trim($_REQUEST['ver'])) : 'confirm'; // 验证码 if($act == 'confirm') { $msg = $order['order_sn']."确认收货?
加一个确认的页面,这样SPAM点到链接后就不会触发订单状态更改的事件了,总算尼妹的解决问题了,Ecshop某些方面的设计真是秀下限啊。
网页标题:Ecshop中recieve.php判断不严谨导致邮件自动确认收货
文章链接:http://cdiso.cn/article/jpegdd.html