通过htaccess捕获X-FORWARDED-FOR标头?

时间:2014-01-15 06:44:52

标签: .htaccess proxy http-headers environment-variables

我在共享服务器上运行我的网站,希望能够捕获使用Puffin浏览器的用户的“真实”IP地址。 Puffin在自己的云服务器上呈现网站内容,然后将结果传递给用户的浏览器。缺点是用户的IP地址显示为Puffin云服务器的IP地址,而不是他们自己的IP地址。然而,Puffin使用X-FORWARDED-FOR标头传递“真实”IP地址。不幸的是,我的主机提供商将其删除了。

我问他们是否有任何方式围绕这个并且他们已经回复说(关于X-FORWARDED-FOR标题):

“您可以使用.htaccess文件中的环境变量来捕获它。”

此时我已经超出了我的深度,所以我想知道是否有人能用简单的术语解释如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果他们删除标题,您甚至可能无法在htaccess文件中捕获它。但是你需要看起来像这样的东西:

RewriteEngine On
RewriteCond %{HTTP:X-FORWARDED-FOR} ^(.+)$
RewriteRule ^ - [L,E=X-FORWARDED:%1]

你可以通过(使用php)$_SERVER['X-FORWARDED']

获取环境变量