PHP保护用户更改其他用户的帖子
考虑下表,当用户登录到产品页面时,如何避免用户通过HTML代码更改其他用户的产品,因为产品表下没有用户IDPHP保护用户更改其他用户的帖子,php,mysql,Php,Mysql,考虑下表,当用户登录到产品页面时,如何避免用户通过HTML代码更改其他用户的产品,因为产品表下没有用户ID Table user - userId - name Store - storeId - userId product - productId - storeId - price 你不能。向product表中添加ownerId字段,或添加包含userId和productId的userProduct表 而且我认为用户不能使用html代码更改数据库中的产品。您想要sql查询吗? 如果有的
Table user
- userId
- name
Store
- storeId
- userId
product
- productId
- storeId
- price
你不能。向product表中添加ownerId字段,或添加包含userId和productId的userProduct表
而且我认为用户不能使用html代码更改数据库中的产品。您想要sql查询吗?
如果有的话
你可以说
$query=SELECT*FROM products WHERE storeid IN SELECT storeid FROM store WHERE userid=.$logged\u user;
//$logged\u user保留已登录用户的id如果您想在每个用户的基础上对其进行限制,则除非您更改架构结构,否则这是不可能的,因为用户和产品之间没有直接链接。如果您希望在每个门店的基础上执行此操作,即特定门店的任何用户都可以编辑该门店中的任何产品,则应开始执行以下查询
SELECT
[product info]
FROM
product p
INNER JOIN
store s ON p.storeId=s.storeId
INNER JOIN
user u ON s.userId=u.userId
WHERE
p.productId = [productId] AND
u.userId = [userId]
给定productId和userId,这将使您能够检查该用户是否与该产品的商店相关。您需要定义具有以下属性的第四个表 表格购买 -用户ID -产品ID 并将用户购买物品的信息保存在其中
原始产品表不应用于保存用户所做的更改。html代码是什么意思?如果产品表下没有用户ID,您如何区分他自己的产品和其他产品?@Col.Shrapnel,因为产品下有一个storeIdtable@mmmshuddup我指的是隐藏在浏览器后面的输入。你必须将用户id存储到会话,不是HTML代码是的,我想这就是我想要的。所以如果我用这种方法来限制它。可以吗?或者这是一个糟糕的设计?有很多方法可以实现访问控制。我将此查询作为一个示例,说明如何按商店/用户限制对产品的访问。你的架构是否好并不真正适合这样做。根据我的例子试一试,如果你有任何具体的问题,请提出另一个问题。