我最近开始为我工作的一家公司开发一个 OsCommerce 2.3.1 构建系统。尽管在错误日志中,他们开始收到一些奇怪的错误。我们不知道这些错误是什么时候开始的,但它们肯定与 PHP 或 Apache 中的会话处理有关,因为在我们的代码中的其他任何地方都没有进行重定向。
每当我的会话过期并尝试登录时,我都会被重定向到例如“example.com/aW5kZXgucGhw”,这不是一个有效的页面,并返回一个 404。
怎么会这样?它是否试图将会话密钥附加到 URL?
我最近开始为我工作的一家公司开发一个 OsCommerce 2.3.1 构建系统。尽管在错误日志中,他们开始收到一些奇怪的错误。我们不知道这些错误是什么时候开始的,但它们肯定与 PHP 或 Apache 中的会话处理有关,因为在我们的代码中的其他任何地方都没有进行重定向。
每当我的会话过期并尝试登录时,我都会被重定向到例如“example.com/aW5kZXgucGhw”,这不是一个有效的页面,并返回一个 404。
怎么会这样?它是否试图将会话密钥附加到 URL?
这种重定向不是标准的 osCommerce 重定向。会话 ID 比 aW5kZXgucGhw (32 个字符)长得多,所以它来自其他地方的可能性更高,加上会话 ID 每当在标准 osCommerce url 中是 example.com/page.php?osCsid='5abdl9l9tu5ndmcclvrt8267m2 '这样的事情。
在 osCommerce 函数中,includes/functions/general.php 中的 tep_redirect($url) 负责重定向。
我建议您编写一些代码来记录传递给此函数的 URL 参数以及一个调试回溯,以确定调用此函数的位置。
如果文件写入代码生成的“url”值类似于此 URL example.com/aW5kZXgucGhw 的日志,那么您需要查看调试回溯日志部分,以便获取导致此重定向调用的代码部分。