0

我想测试 cookie 中毒,所以我想编辑我的一个项目。在那里,我想编写包含产品小计的 cookie,结帐页面将再次使用它来显示小计。我不确定我的想法是否正确,而且我的 cookie 也不起作用。

首先,我将这些代码放在 addcart 按钮方法下:

Dim aCookie As New HttpCookie("SubTotal")
aCookie.Value = objShopCart.ComputeSubTotal().ToString()
aCookie.Expires = DateTime.Now.AddDays(1)
HttpContext.Current.Response.Cookies.Add(aCookie)

在结帐页面中;

If (Request.Cookies("aCookie") IsNot Nothing) Then
    Dim subTotal As String
    If (Request.Cookies("aCookie")("SubTotal") IsNot Nothing) Then
        subTotal = Request.Cookies("aCookie")("SubTotal")
        lblSubTotal.Text = subTotal
    End If
End If

根据上面的代码,我无法读取 cookie。总是什么都没有,Request.Cookies("aCookie")我不知道为什么。对于 cookie 中毒演示,我打算拦截我将东西放入购物车并对其进行编辑的 cookie,因此当我到达结帐页面时,它会显示错误的小计等信息。感谢任何帮助。

4

1 回答 1

0

您需要使用您保存的相同名称检索 cookie 值。例如,

If (Request.Cookies("SubTotal") IsNot Nothing) Then
   Dim subTotal As String
   subTotal = Request.Cookies("SubTotal").Value
End If

仅供参考,您不想将小计保存在 cookie 中,因为它可以在客户端轻松操作。将其保存在会话状态或再次在结帐页面中重新计算。

于 2013-01-21T15:31:29.167 回答