2012-04-19 75 views
0

假设我有一个用户可以互相留下评论的网站。如何防止用户对其他用户发表评论

我们有用户A,用户B和用户C. 还支持用户B已阻止用户C.

用户A离开用户B的注释,代码如下:

$query = "insert into comments (author_id, profile_id, comment, date_posted) values(?, ?, ?, now())"; 

这是做这项工作的查询。 现在用户C进入用户B的页面留下评论,但用户B阻止他留下评论。

不能用户C只是为其他用户留下评论,而只是制作请求,以便将profile_id更改为阻止他的用户?

我该如何预防?

+2

在执行插入操作之前,您必须检查用户是否不在黑名单**中。永远不要相信任何数据来自 – zerkms 2012-04-19 22:10:12

+2

你如何存储块?您的代码必须检查该机制。 – webbiedave 2012-04-19 22:10:15

回答

1

我认为你需要做出另一个查询和条件与该结果。创建一个查询来获取用户B的黑名单$blacklist然后检查if (!in_array('user C', $blacklist)) { execute insert query }

+1

'创建一个查询来获取用户B的黑名单$ blacklist,然后检查是否(!in_array('user C',$ blacklist))'---为什么不在单个查询中这么做 – zerkms 2012-04-19 22:16:50