我正在寻找最好的方法来解决这个问题,我有,我一直在寻找一种方法来尝试和解决它。
我有一个名为products
的数据库表,在这个表中,我有我所有的产品,如鞋,衣服,帽子等
我有一个单一的网页,我用来回显到其基于产品ID
的一切,我使用的代码看起来像这样
<a href="product.php?ID=<?php echo $row['ID']; ?>">View</a>
字符串
URL看起来像这样
http://www.example.x10.mx/product.php?ID=1
型
问题是,有人可以只改变ID
到2或3或4.这不应该发生.我不知道这个问题是,它不是使用付费域名或它只是在x10托管.
问题
我想提供从改变ID
在网址中的使用,以任何随机数,他们想要的,可以有人请告诉我如何做到这一点。
Another Question这是phpMyadmin生成随机字母和数字的一种方法吗?因为这是我唯一能想到的解决问题的方法。
谢谢
2条答案
按热度按时间oknwwptz1#
我在做我们的商务系统时遇到过类似的问题,我们处理它的方式是提供用户查询中的值的散列。
如果你用salt加密查询字符串,并使你的urls /product.php?id=1&hash= ajk 23 j 4aksdljfklasdjf 2345 j-然后在product.php上验证哈希值是否正确匹配。如果哈希值不匹配,则意味着用户改变了一些东西。
2vuwiymt2#
这不是一个真正的答案,但我觉得被迫张贴在这里,因为我觉得是一个穷人的应用程序设计的情况。
从评论线程的主要问题:
很抱歉让你困惑,但他们是没有什么真正的困惑。例如,帽子,鞋使用product.php页面和手套,衬衫使用itemview.php页面两个页面使用产品ID(ID)当你点击视图。希望这是有意义的
这仍然没有意义。你提到的所有这些东西实际上都是产品。只是不同类型的产品。在任何理智的设计中,它们都将使用相同的URL格式。基于产品类型的逻辑属于你用作控制器的任何东西-在你的情况下,我假设URL中的.php页面。你只需要其中一个。从那里你可以做不同的事情。
最基本的例子:
字符串
假设这些都是特定的产品,但你的例子听起来更像是类别,通常你会有一个单独的类别页面,它做的事情和产品几乎一样,但以某种视觉方式输出产品实体的“集合”。