-3

プロジェクトで作業していて、データを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> ";
} 
4

3 に答える 3

0

いいえ、安全ではありません。データベースクエリやクエリデータを明示的にCookieに保存しないでください。

クッキーはマリオが言ったように単なるユーザー入力であり、改ざんは非常に簡単です。このようなデータのサーバー側ストレージオプション(セッション?)を検討してください。

そのようなデータを本当にCookieに保存する場合は、データベースに送信する前に、必ずデータを検証およびフィルタリングしてください。

于 2012-11-08T23:30:57.023 に答える
-2

phpセッションを使ってみませんか

<?php
 session_start();
 // store session data
 $_SESSION['views']=1;
 ?>
于 2012-11-08T22:49:16.273 に答える
-2

ブラウザー全体で広くサポートされているlocalStorageオブジェクト(IE8 +)を使用します。

localStorage.setItem('someData'、42);後で(Webサイトまたはブラウザーが閉じられている場合でも)

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

于 2012-11-08T23:14:29.550 に答える