diff --git a/cgi-bin/whoami.cgi b/cgi-bin/whoami.cgi index ce7b910..0e355e2 100755 --- a/cgi-bin/whoami.cgi +++ b/cgi-bin/whoami.cgi @@ -20,10 +20,14 @@ styling = { inner = { class: 'inner' } outer = { class: 'outer' } +# Handle X-Forwarded-For header +x_forwarded_for = ENV['HTTP_X_FORWARDED_FOR'].split(/, ?/).first \ + if ENV['HTTP_X_FORWARDED_FOR'] =~ /,/ + # CGI Environment variables referer = cgi.referer || nil user_agent = cgi.user_agent || nil -remote_addr = ENV['HTTP_X_FORWARDED_FOR'] || cgi.remote_addr || nil +remote_addr = x_forwarded_for || cgi.remote_addr || nil remote_port = ENV['HTTP_X_FORWARDED_PORT'] || ENV['REMOTE_PORT'] || nil request_method = cgi.request_method || nil server_admin = ENV['SERVER_ADMIN'] || nil