平时呢,有人用过隐藏文本框吧?通常的做法是:前台通过js执行语句,然后把处理后的数据写入隐藏文本框<input type="hidden" />然后呢,我们用后台程序处理文本框中的数据.一直是这样用的,可是今天,就在今天
我用firefox的firedebug发现居然可以修改文本框的值.崩溃了!该如何解决这一安全问题啊?

解决方案 »

  1.   

    firedebug是拿来调试的  如果不能修改里面的值 你怎么调试
      

  2.   

    如果你知道不少人是直接写自己程序用 HttpWebRequest 跟web服务器交谈,你会更加崩溃的吧?!
      

  3.   

    看来我的设计思路有问题啊,我做了一购物车,用的是cookies 保存了选择的商品的值
    (价格,数量,金额,然后读取到隐藏文本框的,通过后台写入订单),如果文本框的值被客户端修改了.比如说价格改了,该如何保证安全呢?$(document).ready(function()
            {
                //读取到购物车
                var totalprice = 0;            jQuery.ReadToShoppingCar = function()
                {
                    //读取到购物车               
                    var jsonObj = eval('(' + $.cookie(cookieProductID) + ')'); //如果有,把json字符串转换成对象
                    var strHtml = "";                var order_str = ""; //模板order_str
                    var re = "";
                    try
                    {
                        for (var obj in jsonObj)
                        {
                            order_str += jsonObj[obj].No + "|" + jsonObj[obj].price + "|" + jsonObj[obj].num + ",";
                            re += "模板编号为:" + jsonObj[obj].No + "_名称:" + jsonObj[obj].title + "_价格:¥" + jsonObj[obj].price + ".00   ";
                            totalprice = Number(jsonObj[obj].price) * jsonObj[obj].num + totalprice;
                            strHtml += "<div class=\"notelabel\">";
                            strHtml += "    <table width=\"898\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">";
                            strHtml += "        <tr valign=\"middle\">";
                            strHtml += "            <td width=\"61\" align=\"center\" style=\"border-right: 1px solid #aacded;\">";
                            strHtml += "                " + jsonObj[obj].No + "";
                            strHtml += "            </td>";
                            strHtml += "            <td width=\"453\" align=\"center\" style=\"border-right: 1px solid #aacded;\">";
                            strHtml += "                <a href=\"#\" class=\"modeName_link\">";
                            strHtml += "                    " + jsonObj[obj].title + "";
                            strHtml += "                </a>";
                            strHtml += "            </td>";
                            strHtml += "            <td width=\"88\" align=\"center\" style=\"border-right: 1px solid #aacded;\">";
                            strHtml += "                <span>";
                            strHtml += "                   ¥" + jsonObj[obj].price + ".00";
                            strHtml += "                </span>";
                            strHtml += "            </td>";
                            strHtml += "            <td width=\"70\" align=\"center\" style=\"border-right: 1px solid #aacded;\">";
                            strHtml += "              " + jsonObj[obj].num + "";
                            strHtml += "            </td>";
                            strHtml += "            <td align=\"center\" >";
                            strHtml += "               " + jsonObj[obj].re + "";
                            strHtml += "            </td>";
                            strHtml += "        </tr>";
                            strHtml += "    </table>";
                            strHtml += "</div>";                    }
                    } catch (ex) { }
                    if (order_str.length > 0)
                        order_str = order_str.substring(0, order_str.length - 1);
                    $("#ctl00_pageBody_hidTemplateIds").val(order_str);
                    $("#ctl00_pageBody_hidTotalCash").val(totalprice);
                    $("#ctl00_pageBody_hidRe").val(re + "   总金额为:" + totalprice);                $("#spTotalPrice").html("¥" + totalprice + ".00");
                    $("#divData").html(strHtml);
                }
    });
      

  4.   

    只传递商品的值(或者ID)  
    前台的信息只是给人看的 
    商品的ID 传递到后台之后再 通过数据库查找 商品的其他信息.
    总之这些需要用到的东西都需要在后台再次操作.
      

  5.   

    我也是看了一篇网上的介绍,就是这样把整个用cookies实现的,看来像我这样的初级水平者占多数!