0

所以这是交易:

我们正在尝试设置 Google Page Speed 以与 Magento 一起使用,我们担心由于所有页面都将由 Google 提供,我们将不知道我的用户请求的客户端 IP 地址。我们担心这会影响我们的用户与网站交互的能力(登录/注销和结帐)以及我们使用分析的能力(谷歌分析)。这真的会成为一个问题/问题吗?

我们做了一些研究,发现我们需要在 Apache 或 PHP 中设置 X-Forwarded-For 标头。我们的主人说他们不能这样做,因为:

通常我们会使用 mod_rpaf 来做你想做的事情(在它被传递给你的代码之前将转发的 IP 转换为真实的 IP)但是 mod_rpaf 要求你提供一个转发服务器的列表。谷歌不提供这个,所以我们不能使用那个。

所以现在剩下的唯一选择就是用 Magento 的 PHP 来设置它,我们该怎么做呢?

在通过 Magento 管理员(系统 > 配置 > Web > 会话验证设置)时,我们注意到“验证 HTTP_X_FORWARDED_FOR”:将其更改为“是”有帮助吗?

-谢谢。

4

1 回答 1

0

Google 页面 Speed 将在它发送给 magento 的请求中设置 http_x_forwarded_for 标头,这意味着 magento 可以使用 PHP 来获取它,如下所示:

$real_customer_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

Magento捕获通过 http_x_forwarded_for 标头传递的 ip 信息,而无需额外配置。

要对此进行测试,请使用 Google Page Speed 设置您的站点的测试实例并下订单。如果您随后检查该订单,您将看到它具有“remote_ip”和“x_forwarded_for”的值。这些值存储在 magento 的 MySQL 数据库中的“sales_flat_order”表中。

客户的 IP 地址与 magento 的登录/注销/结帐功能无关,它使用存储在 http-session 中的信息。

于 2014-03-21T16:23:26.917 回答