1

session_vars とモバイル 3g 接続に大きな問題があります。

ユーザー名とパスワードでアクセスできる仮想キャンパスがあります。すべてのページで、ユーザーが次のコードでログに記録されていることを確認します。

<?PHP session_start();

//Avoid not logged users
if ($_SESSION['auth']!=true)
{
    session_unset();
    header('Location:index.php'); // login page
    exit;
}

ユーザーがファイルをダウンロードしようとして 3G 接続を使用すると、ログインしているユーザーを識別するセッション変数が失われ、ユーザーがログイン ページに送られることがあります。

エラーを再現しようとしましたが、失敗しました。3G接続の状況により変動する場合がございます。

ドングル 3g を使用するすべてのユーザーは、ラップトップで失敗します。

HTMLダウンロードリンクコードの下に:

<a onclick="window.location.href='download_file.php?id=48558&amp;id_aula=A1188788&amp;p=5'" title="download 21115400_cat.pdf" class="Arial11BlueBold ManoSola">Download</a>

そして download_file.php:

<?PHP session_start();

//Avoid not logged users
if ($_SESSION['auth']!=true)
{
    session_unset();
    header('Location:index.php');
    exit;
}

...

ありがとう!

4

3 に答える 3

0

アプリケーションは、単純なセッション以外にIPアドレスまたはその他の変数をチェックしていますか?はっきりとは言えませんが、ユーザーのIPアドレスが閲覧中に変化している可能性が非常に高く、モバイルインターネットプロバイダーはプロキシなどのテクノロジーを多用しています。

于 2012-06-13T09:01:01.317 に答える
0

私の推測では、あなたの問題はダウンロード手順ではなく、ユーザーがセッションによって識別される方法、つまりCookieです。ユーザーがセッション Cookie を失い、その結果、自動切断が発生する理由を調査する必要があります。3g プロバイダーが接続をキャッシュしているか、ユーザーの前にプロキシを持っている可能性がありますか? もう 1 つの可能性は、セッションが何らかの形でクライアントの IP アドレスにバインドされていることです。これは、不安定な 3g 接続中に変更される可能性があります。

これを見てください: 3G での iPhone の Cookie/キャッシュの問題、Wi-Fi では問題ありません

于 2012-06-13T09:01:16.117 に答える