Foros del Web » Programando para Internet » PHP »

cambiar ip de paises

Estas en el tema de cambiar ip de paises en el foro de PHP en Foros del Web. Hola gente, tengo que validar un sitio web que no permita la entrada desde ciertos paises, estuve googleando un poco y en todos lados dice ...
  #1 (permalink)  
Antiguo 26/01/2016, 11:31
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
cambiar ip de paises

Hola gente,
tengo que validar un sitio web que no permita la entrada desde ciertos paises, estuve googleando un poco y en todos lados dice de utilizar un proxy con php y curl, yo intente lo siguiente para ver si se accede poniendo una ip manualmente:
Código PHP:
$proxies[] = '173.234.92.107';  // Some proxies only require IP
        
$proxies[] = '173.234.93.94';
        
$ch curl_init();  // Initialise a cURL handle
 
        
for($i 0$i count($proxy); $i++)
        {
            if (isset(
$proxies)) {  // If the $proxies array contains items, then
                
$proxy $proxies[$i];    // Select a random proxy from the array and assign to $proxy variable
            
}
            
// Setting proxy option for cURL
            
if (isset($proxy)) {    // If the $proxy variable is set, then
                
curl_setopt($chCURLOPT_PROXY$proxy);    // Set CURLOPT_PROXY with proxy in $proxy variable
            
}

            
// Set any other cURL options that are required
            
curl_setopt($chCURLOPT_HEADERFALSE);
            
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
            
curl_setopt($chCURLOPT_COOKIESESSIONTRUE);
            
curl_setopt($chCURLOPT_FOLLOWLOCATIONTRUE);
            
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
            
curl_setopt($chCURLOPT_URL$url);

            
$results curl_exec($ch);  // Execute a cURL request
            
sleep(60);
            
curl_close($ch);    // Closing the cURL handle
            
if(!empty(curl_error($ch)))
            {
                echo
"<pre>";print_r(curl_error(ch));echo"</pre>";
            }
            else
            {
                echo
"i: ".$i."<pre>";print_r($results);echo"</pre>";
            }
        } 
pero la pantalla me sale siempre en blanco sin ningún error. Alguien ha tenido que hacer algo parecido alguna vez, para darme una mano.
Que estoy haciendo mal.
Desde ya muchas gracias!
Salu2
  #2 (permalink)  
Antiguo 26/01/2016, 13:33
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: cambiar ip de paises

aqui encontre un ejemplo pequeño que te puede servir, te faltan alguna opciones de curl para usar proxy, nose conecta pero lo intenta los datos del proxy y la url estan de ejemplo.

ojala te sirva, algo es algo

Código PHP:
Ver original
  1. $proxy = "66.96.200.39:80";
  2. $proxy = explode(':', $proxy);
  3. $url = "http://www.google.es";
  4.  
  5. $ch = curl_init();
  6. curl_setopt($ch, CURLOPT_URL, $url);
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  8. curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
  9. curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
  10. curl_setopt($ch, CURLOPT_HEADER, 1);
  11.  
  12. $exec = curl_exec($ch);
  13.  
  14. echo curl_error($ch);
  15. echo $exec;
  #3 (permalink)  
Antiguo 26/01/2016, 14:50
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: cambiar ip de paises

minimamente tienes un error de sintaxis aquí,

$i count($proxy)

te falta algún operador
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #4 (permalink)  
Antiguo 26/01/2016, 16:12
 
Fecha de Ingreso: diciembre-2015
Mensajes: 67
Antigüedad: 8 años, 4 meses
Puntos: 2
Respuesta: cambiar ip de paises

Y esta puede esquivar algunos proxys:
Código PHP:
Ver original
  1. function get_real_ip()
  2.     {
  3.         if (isset($_SERVER["HTTP_CLIENT_IP"]))
  4.         {
  5.             return $_SERVER["HTTP_CLIENT_IP"];
  6.         }
  7.         elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
  8.         {
  9.             return $_SERVER["HTTP_X_FORWARDED_FOR"];
  10.         }
  11.         elseif (isset($_SERVER["HTTP_X_FORWARDED"]))
  12.         {
  13.             return $_SERVER["HTTP_X_FORWARDED"];
  14.         }
  15.         elseif (isset($_SERVER["HTTP_FORWARDED_FOR"]))
  16.         {
  17.             return $_SERVER["HTTP_FORWARDED_FOR"];
  18.         }
  19.         elseif (isset($_SERVER["HTTP_FORWARDED"]))
  20.         {
  21.             return $_SERVER["HTTP_FORWARDED"];
  22.         }
  23.         else
  24.         {
  25.             return $_SERVER["REMOTE_ADDR"];
  26.         }
  27.     }
  28.     $country = json_decode(file_get_contents("freegeoip.net/json/".get_real_ip()))->country_code;

En la variable $contry esta el pais del visitante luego tu decides con un codigo si le das o le niegas el acceso
  #5 (permalink)  
Antiguo 26/01/2016, 17:54
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: cambiar ip de paises

Cita:
Iniciado por __SDP__ Ver Mensaje
aqui encontre un ejemplo pequeño que te puede servir, te faltan alguna opciones de curl para usar proxy, nose conecta pero lo intenta los datos del proxy y la url estan de ejemplo.
Intente cambiando la ip por una que saque de una pagina que da direcciones de ip para usar pero me tira esto:

Cita:
error
Failed to connect to 173.234.93.94 port 80: Connection timed out
getinfo
Array
(
[url] => http://www.google.es/
[content_type] =>
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 62.259391
[namelookup_time] => 0.000122
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0
[redirect_time] => 0
[certinfo] => Array
(
)

[redirect_url] =>
)
esto se debe a la dirección ip que cargue?
Saludos
  #6 (permalink)  
Antiguo 26/01/2016, 19:58
 
Fecha de Ingreso: diciembre-2015
Mensajes: 67
Antigüedad: 8 años, 4 meses
Puntos: 2
Respuesta: cambiar ip de paises

No habia entendido bien la pregunta pense que querias saber la ubicacion del cliente de tu pagina web y denegarle el acceso si esta en un pais determinado, lo que dices es muy sencillo descarga TOR desde https://www.torproject.org/ es un proyecto que permite una navegacion totalmente anonima tus peticiones http o https salen encriptadas de tu pc y rebotan en varios nodos encriptadas en todo el mundo, en el ultimo nodo son desencriptadas y enviadas a la pagina web que estas pidiendo de esa forma si el pais del ultimo nodo(el que esta recibiendo la pagina verdaderamente y enviandotela) esta bloqueado el navegador tiene la opcion de cambiar los nodos aleatoriamente.

Descarga el navegador y veras que funciona!.

Etiquetas: ip, select, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:21.