0

他の例はうまくいきませんでした.30分後にセッションを期限切れにする方法に興味があります. セッションを設定するランディング ページにこのコードがあるので、フォームに入力した後、ダウンロード ページに移動します。セッションの目的 (100% 安全ではないことはわかっています) は、ユーザーがダウンロード ページに直接アクセスできないようにすることです。$_REQUEST のものは追跡のためだけのものです。特別に形成されたランディング ページ URL から来ていないこれらのページに人々が来ることは望ましくありません。ユーザーがサインアップ ページをバイパスしてダウンロード ページに戻り続けることができないように、このセッションを 30 分後に期限切れにしたいと考えています。

<?php
    session_start();
    $_SESSION["loggedIn"] = 'Y';
    //the below is for google analytics tracking purposes, please ignore.
    if (isset($_REQUEST['utm_source']) && (!empty($_REQUEST['utm_source']))) {
?>
<!DOCTYPE html>
     <head></head>
     <body>
         //all page code here
      </body>
 </html>
 <?php
     } else {

     header( 'Location: http://www.anothersite.com' ) ;

    }
  ?>
4

1 に答える 1

1

Cookie を使用して有効期限を ( time()+(30*60)) として設定するか、次のようなセッションを使用することをお勧めします。

//set session to now + 30 minute
$_SESSION['expire'] = time()+(30*60);

//check 
if($_SESSION['expire'] <= time()){
 //destroy session
}

ただし、ユーザーがブラウザ ウィンドウを閉じると、セッションが自動的に終了するという 1 つの事実があります。

于 2013-10-04T21:11:58.253 に答える