Skip to content

Asegurarse de que es una IPv4. En caso contrario poner la IPv4 manual… - #2

Open
xavierrr1 wants to merge 1 commit into
PAYCOMET:masterfrom
xavierrr1:master
Open

Asegurarse de que es una IPv4. En caso contrario poner la IPv4 manual…#2
xavierrr1 wants to merge 1 commit into
PAYCOMET:masterfrom
xavierrr1:master

Conversation

@xavierrr1

Copy link
Copy Markdown

Asegurarse de que es una IPv4. Paycomet no soporta IPv6 y no siempre se puede garantizar que un server moderno devuelva una ipv4. De hecho en nuestro caso sucede que en la mayoría de las transacciones se hacen identificando con ipv6.
Queda pendiente obtener la IPv4 del server, en caso de que la tenga.

…mente. Paycomet no soporta IPv6 y no siempre se puede garantizar que un server moderno devuelva una ipv4. De hecho en nuestro caso sucede que en la mayoría de las transacciones se hacen identificando con ipv6
@xavierrr1

xavierrr1 commented Jan 2, 2024

Copy link
Copy Markdown
Author

use const FILTER_FLAG_IPV6;
use const FILTER_VALIDATE_IP;
public function GetClientIp()
{
$ipAddress = '';
if (isset($_SERVER['REMOTE_ADDR'])) {
$ipAddress = $_SERVER['REMOTE_ADDR'];
} else if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ipAddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else if (isset($_SERVER['HTTP_X_FORWARDED'])) {
$ipAddress = $_SERVER['HTTP_X_FORWARDED'];
} else if (isset($_SERVER['HTTP_FORWARDED_FOR'])) {
$ipAddress = $_SERVER['HTTP_FORWARDED_FOR'];
} else if (isset($_SERVER['HTTP_FORWARDED'])) {
$ipAddress = $_SERVER['HTTP_FORWARDED'];
} else if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ipAddress = $_SERVER['HTTP_CLIENT_IP'];
} else {
$ipAddress = $_SERVER['SERVER_ADDR']; // Server IP por defecto
}
if(filter_var($ipAddress, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
$ipAddress = "XXX.XXX.XXX.XXX";
}
return $ipAddress;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant