0

I'm still getting the hang of CakePHP but I think I'm making progress.

Background: I'm developing an application that doesn't require registration. I essentially have posts that can be made by any visitor to the site.

Question: How can I limit the number of times a guest can post per day? Say I want to allow a guest to post once per day. Would I essentially create a users table based on IP, log a new IP address every time one visits the site, then limit actions based on that table?

4

3 回答 3

1

是的......会这样做,但我不会推荐它。用户可以通过使用代理或只是重新连接到他们的 ISP 来更改他们的 IP。所以..如果我是你,基本上我不会使用基于 IP 的过滤。

于 2013-07-02T14:53:33.987 回答
0

取决于您是想让用户 + 来宾还是只是来宾。

如果您有用户(登录到站点,具有个人资料以及普通用户将获得的所有内容)并且还允许猜测发布,那么将访客 + ip(或其他过滤选项)添加到用户表并将其关联起来会更容易post 表中的 user_id 列的 post 表(类似于 SO 中的操作)。

但是,如果站点中只有访客并且不打算让用户登录,那么您只需要一个带有 ip 列的 post 表,您可以在其中注册哪个 ip 发布了帖子。

此外,正如 Iansen 所说,IP 过滤器可以轻松绕过。用户每天只发布一次是否是一个强烈的要求?

于 2013-07-02T14:58:08.613 回答
0

我要做的是创建一个 .txt 文件来存储用户的 IP,使用 PHP 的$_SERVER['REMOTE_ADDR']. 24 小时后,在 12:00,让您的网络服务器擦除 IP 文件,让每个人都可以在第二天再次发布。

于 2013-07-02T14:59:41.100 回答