0

私は最近、私が働いている会社のためにOsCommerce2.3.1で構築されたシステムに取り組み始めました。エラーログにあるにもかかわらず、彼らはいくつかの奇妙なエラーを受け取り始めました。これらのエラーがいつ始まったかはわかりませんが、コード内の他の場所ではリダイレクトが行われないため、PHPまたはApacheのいずれかでのセッション処理に何らかの形で関連していることは間違いありません。

セッションの有効期限が切れてサインインしようとすると、たとえば「example.com/aW5kZXgucGhw」にリダイレクトされますが、これは有効なページではなく、404を返します。

どうしてこれが起こるのですか?URLにセッションキーを追加しようとしていますか?

4

1 に答える 1

1

このようなリダイレクトは、標準のosCommerceリダイレクトではありません。セッションIDはaW5kZXgucGhw(32文字)よりもはるかに長いため、他の場所から送信される可能性が高くなります。さらに、標準のosCommerceurlがexample.com/page.php?osCsid='5abdl9l9tu5ndmcclvrt8267m2の場合は常にセッションIDが使用されます。 ' このようなもの。

osCommerce関数では、includes / features / general.phpのtep_redirect($ url)がリダイレクトを担当します。

この関数に渡されたURLパラメーターと、この関数が呼び出された場所を確認するためのデバッグバックトレースをログに記録するコードを作成することをお勧めします。

ファイル書き込みコードがこのURLexample.com/aW5kZXgucGhwのような「url」の値を持つログを生成する場合、このリダイレクト呼び出しの原因となったコード部分に到達するために、デバッグバックトレースログ部分を調べる必要があります。

于 2013-02-27T17:35:12.573 に答える