使用cookie进行mysql查询是否安全?

时间:2012-11-08 22:47:05

标签: php html mysql cookies

我在一个项目中工作,我需要将数据存储在cookie中并在mysql查询中使用该数据,但我不确定安全事项.. 好吧,这是我的代码..

if(isset($_COOKIE['user_phone_id'])){
   echo "";
   $user_phone = $_COOKIE['user_phone'];
   $user_phone_id = $_COOKIE['user_phone_id'];
   $user_phone_url = strtr($user_phone, " ", "-");
   echo "";
   echo "<div id='phonelist_1' class='phonelist'>       
      <a style='color:white;font:bold 15px arial,helvetica,sans-serif; ' href='$user_phone_url'>
         <img src='./phones/".$user_phone_id.".jpg' alt='$user_phone' title='$user_phone' width='100px' height='100px' />
      </a><br />
      <a style='color:white;font:bold 15px arial,helvetica,sans-serif; ' href='$user_phone_url' title='$user_phone'>
         $user_phone
      </a><br /><div class='mobilebg'>";
   require_once "./phonec.php";
   $sql = "select mobile_name, mobile_id, parent_id from mobiles where parent_id =" . 
      $user_phone_id . " ";
   $rsd = mysql_query($sql);
   while($rs = mysql_fetch_array($rsd)) {
      $cid = $rs['mobile_id'];
      $cname = $rs['name_name'];
      echo " <a href='./$cid' style='width: 100%; text-decoration:none;'>
         <div class='mobilatcat'>
         <em style='float: right;'></em>
         <em style='padding-right: 20%;float: right;'>$cname</em> 
         <hr style='margin: 5px;' /></div></a>";
   }
   echo "</div></div> ";
} 

3 个答案:

答案 0 :(得分:0)

不,这不安全。您不应在cookie中明确存储任何数据库查询或查询数据。

Cookie只是像马里奥所说的用户输入,并且很容易被篡改。考虑像这样的数据的服务器端存储选项(会话?)。

如果您确实希望将这些数据存储在Cookie中,请始终validate并在发送到数据库之前对其进行过滤。

答案 1 :(得分:-2)

为什么不使用php Sessions

<?php
 session_start();
 // store session data
 $_SESSION['views']=1;
 ?>

答案 2 :(得分:-2)

使用localStorage对象,浏览器(IE8 +)广泛支持该对象。

localStorage.setItem('someData',42);稍后(即使网站或浏览器关闭时)

localStorage.getItem('someData')// === 42