【发布时间】:2013-07-02 14:48:40
【问题描述】:
我仍然掌握 CakePHP 的窍门,但我认为我正在取得进步。
背景:我正在开发一个不需要注册的应用程序。我基本上有任何网站访问者都可以发布的帖子。
问题:如何限制客人每天可以发帖的次数?假设我想让客人每天发帖一次。我是否会根据 IP 创建一个用户表,每次访问该站点时记录一个新的 IP 地址,然后根据该表限制操作?
【问题讨论】:
我仍然掌握 CakePHP 的窍门,但我认为我正在取得进步。
背景:我正在开发一个不需要注册的应用程序。我基本上有任何网站访问者都可以发布的帖子。
问题:如何限制客人每天可以发帖的次数?假设我想让客人每天发帖一次。我是否会根据 IP 创建一个用户表,每次访问该站点时记录一个新的 IP 地址,然后根据该表限制操作?
【问题讨论】:
是的……可以,但我不推荐。用户可以通过使用代理或只是重新连接到他们的 ISP 来更改他们的 IP。所以..如果我是你,我基本上不会使用基于 IP 的过滤。
【讨论】:
我要做的是创建一个 .txt 文件来存储用户的 IP,使用 PHP 的 $_SERVER['REMOTE_ADDR']。 24 小时后的 12:00,让您的网络服务器擦除 IP 文件,让每个人都可以在第二天再次发帖。
【讨论】:
取决于您是想让用户 + 访客还是仅访客。
如果您有用户(登录到该站点,具有个人资料和普通用户将获得的所有内容)并且还允许猜测发布,那么将访客 + ip(或其他过滤选项)添加到用户表和通过 post 表中的 user_id 列将其与 post 表相关联(类似于 SO 中的操作)。
但是,如果站点中只有访客并且不打算让用户登录,那么您只需要一个带有 ip 列的 post 表,您可以在其中注册哪个 ip 发布了帖子。
另外,正如 Iansen 所说,IP 过滤器可以轻松绕过。用户每天只发一次帖子是不是很重要?
【讨论】: