我有一个News Feed System
获得比上一篇文章更新的帖子,通过获取最后发布的ID并在db中搜索它
SELECT * FROM posts WHERE id > $current_last_post
有效..但如果有人想spam
他可以spam
数据库中的所有帖子,那么评论不安全因为我通过获取帖子ID和帖子来发帖评论插入一个名为评论的表格,我可以通过为帖子unique id
提供类似E9dQ3Fv
之类的内容来解决这个问题,但是因为如何比较那些< / p>
SELECT * FROM posts WHERE id > E9dQ3Fv
。
你能建议我使用唯一身份证吗?
编辑:我的问题
是否可以使用随机ID而不是旧的正常自动增量ID来获取更新的帖子,或者我必须添加普通ID和随机获取普通ID的最新帖子并使用随机ID发布评论?
我希望你了解我... 谢谢(抱歉英语不好)
答案 0 :(得分:0)
如果您想将结果随机化,可以使用ORDER BY RAND()
,但不鼓励这样做(在大型表格上速度很慢)。
答案 1 :(得分:0)
除了维护排序顺序的random id
之外,还可以使用其他列。例如。一个TIMESTAMP
列或只是一个自动递增ID。
将随机id替换为单调增加的伪随机值。例如一个int序列,而不是每次增加1,增加一个随机量(1,4,23,678,680,1221,...)
我无法解决为什么你需要一个随机ID,因此我无法知道这是否合适。