【问题标题】:How to get ip address by session in Joomla using sql如何使用 sql 在 Joomla 中按会话获取 IP 地址
【发布时间】:2015-03-30 09:11:28
【问题描述】:

有什么方法可以使用 sql 在我的 Joomla 网站中获取会话的 IP 地址?

正如我在会话表中看到的,我只有 session_id、client_id、guest、time、data、userid、username。

我是否也可以提取在我的网站上具有开放会话的用户的 IP 地址?

请注意,我不能使用JFactory::getSession()->get(...) 或任何其他 PHP 代码。我只能访问我服务器的 sql 数据库。

【问题讨论】:

  • 为什么不能运行PHP代码?您无权访问这些文件吗?
  • @johnny_s 不,我没有直接访问权限。您会看到我正在使用 Java Web 应用程序连接到数据库,并且正在生成报告...所以我无法运行 php 代码...
  • 那么您希望获得用户 IP 吗?使用Java?您不能使用 MySQL,因为默认情况下用户 IP 不存储在数据库中
  • 我可以使用任何扩展来将会话 ips 存储在数据库中吗?

标签: mysql sql joomla joomla3.4


【解决方案1】:

您可以像这样在 Joomla 中设置自定义会话变量:

$ip = $_SERVER['REMOTE_ADDR'];

$session = JFactory::getSession();
$session->set('ip', $ip);

更新:

使用下面的方法获取 IP 而不是$_SERVER['REMOTE_ADDR'];

https://joomla.stackexchange.com/a/15989/168

【讨论】:

  • 这可以用Sourcerer@Lodder 实现吗?
  • @johnny_s - 是的,但如果每个页面都需要这样做,我建议使用 Sourcerer 将其添加到自定义 HTML 模块,然后将该模块设置为 debug 位置和所有菜单项。
  • 我不想在这个网站上显示这个信息...我想使用 sql 将信息提取到另一个网站.....请看我的问题
  • 正如我的评论中提到的,您可以使用 SQL,因为用户的 IP 默认情况下存储在数据库中。如果您根本无法使用 PHP,请更新您问题中的标签
猜你喜欢
  • 2011-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-10
  • 2010-12-26
  • 2014-08-07
  • 2013-01-09
相关资源
最近更新 更多