Php 防止价值变化的最佳方法

Php 防止价值变化的最佳方法,php,ajax,security,pdo,null,Php,Ajax,Security,Pdo,Null,我正在创建一个电子商务网站,你们中的一些人可能会发现这很平常。基本上,我有一双8-13码的鞋,但每种尺码的价格都不一样。我使用jquery根据用户选择的鞋码更改价格 当用户单击add to cart时,鞋码将发布到cart页面,我使用下面的查询根据价格查找价格 根据所选鞋码查询价格 SELECT Product.Name as ProductName, Category.Name, size, Price FROM Itemised_Product, Product, Category WHER

我正在创建一个电子商务网站,你们中的一些人可能会发现这很平常。基本上,我有一双8-13码的鞋,但每种尺码的价格都不一样。我使用jquery根据用户选择的鞋码更改价格

当用户单击add to cart时,鞋码将发布到cart页面,我使用下面的查询根据价格查找价格

根据所选鞋码查询价格

SELECT Product.Name as ProductName, Category.Name, size, Price
FROM Itemised_Product, Product, Category
WHERE Product.ProdID =:item_id
AND size= :size AND Category.Name = :Category Limit  1");
问题 出于安全原因,我使用select size查找价格,但问题是有人可以使用java脚本注入将大小的值更改为0,然后添加到购物车中。。。不会显示任何内容,但cart表仍将显示为

Name                  Category                   Shoes type                 Price







                                                          Total price: $ 0.00             
摘要 基本上,当用户更改值时,它们是一种方式,而cart表上不会显示任何内容。或者,即使该值已更改,也会将正确的值发布到购物车页面


谢谢

在添加到购物车之前,如何检查值(大小)

添加到购物车之前的步骤:

SELECT size
FROM Itemised_Product, Product
WHERE Product.ProdID =:item_id
->将其保存到数组(或某个对象)->检查从客户处收到的大小是否在该数组中

if(in_array($_POST('size'), $array_of_sizes))
{ 
    //add to cart
}

如果查询结果返回了什么,为什么不能检查它呢?使用一个简单的
if
操作符?如果用户操纵视图,则卡片上显示的内容完全无关。只要您能够绝对确保您不会进一步处理任何可能被操纵的值。不要试图修理别人故意弄坏的东西@arkascha那么你是说我不应该担心有人更改值,因为这是他们自己的问题?那么你是说当我发布值时,我应该运行一个查询来更改是否发布了正确的大小?因为这些值存储在数据库中,而不是数组中?@你的常识是说我正在将值发布到数据库中吗?如果是的话。答案是
no