Joomla - 按IP地址过滤内容(内联网/外联网)

时间:2012-05-15 19:09:14

标签: joomla ip content-management

我们正在开发网站(不幸的是在Joomla上),我们需要限制访问某些内容 - 文章(如果可能的话,也包括类别)。

理想情况下,甚至可以从菜单中隐藏此内容。如果我们能够为我们的文章指定三个访问级别就足够了:

  • 公众可见度
  • 仅对Intranet可见
  • 仅对外联网可见

很遗憾,我们发现没有符合我们要求的扩展程序。 您是否有任何建议,我们应该在哪里实施此IP过滤器(检测IP地址并检查它是来自内部网还是外部网是一项简单的任务,但我们对Joomla API来说还是新手)。

1 个答案:

答案 0 :(得分:0)

方法1 将是一个系统插件,正如@Lodder建议的那样。它会选择$_SERVER['REMOTE_ADDR'](检查一下,好像你在代理后面,另一个变量可能需要检查 - 如X-FORWARDED-FOR或其他变量)。然后,您可以检查它与为文章或类别设置的条件 - 还要确定您将特定文章标记为“仅Intranet”的确切方式。如果“拒绝访问”只是将访问者重定向到主页。默认情况下,所有文章都向所有人开放,并且可以是“内联网”或“外联网”。

方法2 将拥有两个站点而不是一个站点,共享相同的数据库。他们可以使用单独的模板文件,选择不同的模块位置来放置菜单。因此,系统中将有两组菜单:一组用于Intranet,一组用于Extranet。当然,在这种情况下,任何拥有正确链接的人都可以访问任何文章,无论他来自哪个IP。所以它只是一种装饰。