首页 > 网站 > 建站经验 > 正文

简单办法解决Drupal无法正确获取到ip地址的问题

2024-08-30 19:06:42
字体:
来源:转载
供稿:网友

本来讲解内容是Drupal无法正确获取到用户真实ip地址的解决途径,很多人用反向代理服务器经常用于增强大负载网站的性能,这样Drupal就获取不到p客户端的真实的用户IP,本来来告诉你简单设置就可以解决Drupal无法正确获取到ip地址的问题.

  1. /** 
  2. * 反向代理配置: 
  3. * 反向代理服务器经常用于增强大负载网站的性能,同时提供额外的站点缓存、安全等好处。 
  4. * 如果Drupal部署反向代理服务器之后,Drupal的日志、统计以及访问控制系统都需要获取真实的用户IP。 
  5. * 通常反向代理服务器会在请求中添加X-Forwarded-For头,用于传递客户IP地址。 
  6. * 然而,HTTP头对于客户端欺诈来说是很脆弱的,有些客户端能够直接生成这个Header信息。 
  7. * 所以,Drupal需要在$conf['reverse_proxy_address']中设置所有的代理服务器地址。 
  8. * 
  9. * 激活这个设置让Drupal可以从X-Forwarded-For头中获取用户的IP地址。 
  10. * 这个Header的名字也可以通过$conf['reverse_proxy_header']修改为其他名称。 
  11. * 如果你不确定是否使用了反向代理,不知道这个选项的含义,或者站点托管在共享主机上,就不必设置。 
  12. * 
  13. * 启用这个配置,就必须把每个反向代理服务器的地址都保存在$conf['reverse_proxy_addresses']中。 
  14. * 如果你的环境中无法获取一个完整的反向代理服务器列表(例如CDN)。可以在settings.php中直接设置$_SERVER['REMOTE_ADDR']。 
  15. * 这意味着可能发生IP伪造。 
  16. */ 
  17. $conf['reverse_proxy'] = TRUE; 
  18. /** 
  19. * 如果$conf['reverse_proxy']设置为TRUE,这里必须列出所有的代理服务器  //开源软件:Vevb.com 
  20. */ 
  21. $conf['reverse_proxy_addresses'] = array('a.b.c.d', ...); 

如果有朋友跟我一样碰到这样的问题,不妨先如此设置一番,看看能否解决问题.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表