繁体   English   中英

在Magento上使用X-Forwarded-For标头

[英]Use X-Forwarded-For headers on Magento

所以这是交易:

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

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

通常,我们将使用mod_rpaf来完成您想要的操作(将转发的IP转换为真实的IP,然后再传递给您的代码),但是mod_rpaf要求您向其提供转发服务器列表。 Google不提供此功能,因此我们无法使用它。

因此,现在剩下的唯一选择是使用Magento的PHP进行设置,我们如何做到这一点?

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

-谢谢。

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会话中的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM