Wruczek / ts-website

A website for your TeamSpeak 3 server
https://ts.wruczek.tech
GNU General Public License v3.0
336 stars 81 forks source link

Login IPv4 and IPv6 issues #142

Closed jpylypiw closed 4 years ago

jpylypiw commented 4 years ago

Hi there!

I am facing a issue when logging in using the webinterface.

Let's explain this shortly: TS3 Server: Running on IPv4 only because of Docker Webserver: Running on IPv4 and IPv6 requests

So the "getClientIp" function is returning my IPv6 address since the client connected by IPv6. When I connect to the TS3 Server I am using my IPv4 address. So the server cannot find the IPv6 address which currently connected to the server.

I am not sure if it is possible to get both IPv4 and IPv6 address for searching for new connections. After a short websearch I did not find anything to solve the issue on my own.

Maybe you have a idea or you can add this to the install requirements.

jpylypiw commented 4 years ago

ok, I found comment, that you cannot get both IPv4 and IPv6 address using PHP: https://stackoverflow.com/questions/51245053/how-can-i-get-both-ipv4-and-ipv6-address-using-php-code

Maybe you can add this to installation requirements check :)

xopez commented 4 years ago

yes, you are right. You can only get the IP-version from the connection. Since there is only on of it at the same time. So if you are connected to teamspeak for example with ipv4 and you visit the site with ipv6 you don't have a way to login. A suggestion for implementation: Define a Channel for verification, if you try to login and you aren't shown. So only the verification-channel is searched for users if method 1 failed. The restriction to a channel is needed, because you could spam users on TeamSpeak if not.

Wruczek commented 4 years ago

You need to have the same IP on TS3 and web, you can try

@xopez that's planned https://github.com/Wruczek/ts-website/projects/1#card-16068499

jpylypiw commented 4 years ago

Hi @Wruczek, thanks for the suggestions and the planned update information! I will try to enable IPv6 in Docker and pterodactyl which I use for game and voice server handling.