Contao3-Ninja / dlstats

Contao Module dlstats - Counts the number of file downloads
http://contao.ninja/download-statistik-dlstats.html
GNU Lesser General Public License v3.0
4 stars 0 forks source link

Environment::get('remoteAddr') - liefert Server ID, falls der Server Proxy nutzt (Nginx) #52

Closed bruc13 closed 10 years ago

bruc13 commented 10 years ago

Use Environment::get('ip') instead of Environment::get('remoteAddr')

You should use Environment::get('ip') instead of Environment::get('getAddr'), because remoteAddr ist not returning the real IP is Contao is installed on Server with Proxy. Moreove, Environment::get('ip') is returning the real IP und works with Proxies.

https://github.com/codefog/contao-polls/issues/2

BugBuster1701 commented 10 years ago

falls der Server Proxy nutzt

Meinst du damit einen Reverse Proxy auf Server Seite? Wenn die als trusted IP im Backend eingetragen wird, kommt doch wieder remoteAddr bei raus, was wohl Sinn der Sache ist, sofern HTTP_X_FORWARDED_FOR gesetzt wurde.

Ich hatte damals einen Grund warum ich auf remoteAddr gewechselt bin, werde mal überlegen ob ich ne Mischung aus beiden hinbekommen kann.

bruc13 commented 10 years ago

Hi, wo kann ich den im Backend trusted IP eintragen? Meinst du deine Proxy Erweiterung? Bei der Statistik übergibst du die remote_addr an this->IP; es wird überall nicht die USER IP eingetragen. Gibt es denn ein Grund nicht die ip zu nutzen?

BugBuster1701 commented 10 years ago

Ab Contao 3.2 gibt es bei Einstellungen den Punkt "Proxy-Konfiguration" -> "Vertrauenswürdige Proxyserver"

Ich bin damals von IP abgekommen, weil ich sehr oft private IP Adressen bekam aus Firmen, die per Zwangsproxy raus surfen. Daher habe ich damals gedacht, ich nehme remoteAddr, ohne Proxy ist es der Client, mit Proxy die externer Adresse des Proxy Servers, denn ich will die Domain haben.

An Reverseproxy habe ich damals nicht gedacht. Daher werde ich auf IP umsteigen, sollte ich jedoch darüber eine Private IP bekommen dann doch die remoteAddr verwenden.