我对网上商店进行了以下设置:当用户登录时,通过 AJAX 调用脚本,该脚本根据 SOAP-Web 服务验证用户数据
并返回用户数据。当用户登录时,用户数据保存在 PHP 会话中。用户数据
仅通过 SOAP 检索,而不由商店存储。我使用默认的 PHP 会话处理程序。
当用户下订单时,确认电子邮件将发送到用户的地址。
网站流量适中,每天大约100个订单。
我有以下错误:大约每三个月就会有一次电子邮件被发送到错误的地址。会话中的其他数据
电子邮件正文(例如 customerNo)是正确的,但显然电子邮件地址的值是错误的。
这是我到目前为止发现的:每次发生这种情况时,地址混淆的用户都会在完全相同的时间(± 2 秒)登录。
我尝试通过同时使用两个不同的用户登录来重现此问题,但没有成功
比较会话数据。
假设从 SOAP-Webservice 返回的数据是正确的,什么可能导致此问题?
编辑:以下是用于从会话和电子邮件位中写入和读取的代码片段,代码脱离了上下文,我在两者之间遗漏了一些内容:
EDIT2:删除了代码片段,因为问题原来是调用检索电子邮件数据的 SOAP 服务实现中的缓存错误。
每次发生这种情况时,地址混淆的用户都会在完全相同的时间(± 2 秒)登录。我尝试通过同时登录两个不同的用户并比较会话数据来重现此问题,但没有成功。
您描述的问题很可能是由于过度缓存和/或一端或另一端的数据泄漏问题而引起的。
我认为会话在 PHP 端混淆的可能性很小——但是您的代码中可能存在会话别名问题。了解您的 PHP 实例是否作为分叉进程或线程运行会很有帮助。
测试问题是否出在远程服务器上(远程服务器使用线程的可能性明显更大)的正确方法是编写操作脚本 - 不使用浏览器 - 并使用不同的凭据对运行测试数百次 -不只是一次。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)