有什么更安全的方法可以将商品添加到购物车,但不包括将商品的$ id添加到网址?
这是我目前用于将商品添加到购物车的PHP代码
添加到购物车的代码:
if(isset($_GET['id'])){
addToCart($_GET['id']);
}
显示按钮“添加到购物车”的代码
echo "</br><a href='index.php?id={$item->getItemID()}'><button>Add To Cart</button></a></br>";
答案 0 :(得分:0)
您的代码需要知道用户选择的内容,无论您采用哪种解决方案。你的PHP必须知道用户做了哪些改变。
此信息来自客户端(他们选择/点击/更改/提交内容)。你可以加密它客户端,但是坏人&#34;仍然可以使用任何控制台工具更改ID,并且您的代码将加密,并且整齐地加密并继续,就像它在正常情况下一样。
相反,想一想保护这些数据的方法。保护数据传输的最常见解决方案是通过https,现在您至少知道数据只有您和客户端知道。并可能建立额外的检查(如最多10项)。
如果这是为了避免机器人,只需在购物车的确认步骤中添加一个隐藏的输入(实际存储/发送/处理购物车数据的步骤)。使用javascript将其填入某个值(例如&#39; banana&#39;)并检查服务器端是否已设置该值。如果不是 - &gt; &#39; twas a bot。