为了重定向目的,在会话中存储大量数据的安全性和可靠性如何?

时间:2014-12-22 20:56:25

标签: php mysql

我一直在研究php项目,我需要在重定向到result.php期间传递数据。这种方法有多安全,或者可以为我提供更好的替代方案

if($_POST['mygender'] && $_POST['sgender'] && $_POST['country'] && $_POST['town']){
  $sgender= $_POST['sgender'];
  $country= $_POST['country'];
  $town= $_POST['town'];
  $startage=$_POST['startage'];
  $endage=$_POST['endage'];

    $x=$functions->getX($country,$sgender,$town,$startage,$endage,$session_uid);

if($x){
   /*How secure and perfomance effect is this line*/
  $_SESSION['found']=$x;
  header("Location:result.php");
}
else{
  $reg_error="<span class='error' style='color:red;'>No match found</span>";
}

}

考虑到$ x是db结果?

我想使用会话中存储的数据来显示结果

<div class="search-list">
      <?php $profile=$_SESSION['found'];
      foreach ($profile as $key => $value) : ?>
      <div class="four columns">
        <div class="search-item">
          <div class="avatar">
            <img src="<?php echo $base_url."uploads/".$value['profile_bg'];?>" alt="Avatar">
          </div>
          <div class="search-meta">
            <h5 class="author"><a href="#"><?php echo $value['first_name']." ".$value['last_name'];?></a></h5>
            <p class="date"><?php echo $value['birthday']."  |".$value['relationship']."  |".$value['hometown']."  |".$value['location'];?></p>
          </div>
          <div class="search-body">
            <p><?php echo $value['bio'];?></p>
          </div>
          <p><a href="profile.html" class="small button radius secondary"><i class="icon-angle-right"></i> View profile</a></p>
        </div>
      </div>
       <?php endforeach;?>

1 个答案:

答案 0 :(得分:0)

假设您在会话中存储会话数据而不是cookie(这是默认行为),这种方法是完全可以的。 我会说你应该在每次使用后重新生成一个新的会话。

问题是你存储了多少数据? (因为数据存储在您的服务器上) 如果它很多,你可以通过cookie将其推回客户端,然后只需读取cookie数据......但是你的服务器每个请求会占用更多带宽,这对可扩展性有害(如果你关心,我怀疑它)因为你实际上正在使用php)。