Ecshop中recieve.php判断不严谨导致邮件自动确认收货
admin
2023-06-28 10:04:38
0次

酸橘子网站开启了发货邮件通知,即后台员工点击发货时会自动发送邮件到用户预留的联系邮箱中,几乎国外的网站都是这样操作的,所以酸橘子也当仁不让 的选用此种方式来通知用户。但不料没多久,不少用户反映自己明明没有点击邮件中的确认收货链接,但是进入个人中心却发现订单状态已经更改为了已经收到货的 状态了。

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']."确认收货?确定";
}
//收货
else
{
	/* 修改订单发货状态为“确认收货” */
        ......
}

加一个确认的页面,这样SPAM点到链接后就不会触发订单状态更改的事件了,总算尼妹的解决问题了,Ecshop某些方面的设计真是秀下限啊。


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...