GeoIP + CPA (user2csh / adjal)

  • Autor Autor Cicklow
  • Fecha de inicio Fecha de inicio
Bueno el que esta en el post es IPv4, la actualizacion es IPv6, asique tenemos que convertir la IP v4 a v6 y usar los nuevos archivos de GeoIP (de maxmind).
PHP:
function IPv4To6($ip) {
 if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === true) {
  if (strpos($ip, '.') > 0) {
   $ip = substr($ip, strrpos($ip, ':')+1);
  } else { //native ipv6
   return $ip;
  }
 }
 $is_v4 = filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4);
 if (!$is_v4) { return false; }
 $iparr = array_pad(explode('.', $ip), 4, 0);
    $Part7 = base_convert(($iparr[0] * 256) + $iparr[1], 10, 16);
    $Part8 = base_convert(($iparr[2] * 256) + $iparr[3], 10, 16);
    return '::ffff:'.$Part7.':'.$Part8;
}

Para obtener el pais usamos:
PHP:
$gi = geoip_open("geoip/GeoIPv6.dat",GEOIP_STANDARD);
$IP = geoip_country_code_by_addr_v6($gi, IPv4To6($_SERVER['REMOTE_ADDR']));

Descargar la ultima version de GeoIP: Enlace eliminado
Descargar la base de datos IPv6: Enlace eliminado

Saludos.

PD: Para colocarlo en WP, puedes editar el template o puedes agregar un widget. Desde ya tendras que subir el geoip y cpa.php a tu servidor.
 
Ya me perdi :ambivalence:, entonces cual es el archivo que tengo que subir ?
la version 4 o la 6?
y otra cosa más, este script que tantos recursos consume en el hosting?
 
La version 4 es vieja, hay IP que no son detectadas (las ultimas agregadas), puedes usar la 6 sin drama, yo les doy las dos opciones.
No consume muchos recursos ya que la BD es un dat, no hace consultas al mysql ni nada parecido. Podrias testearlo y ver si consume mucho.

Aparte al cachear las ofertas se hace mas rapido. 🙂
 
Hola todos, Estoy desarrollando plugin para wordpress para facilitar las cosas ,y luego compartirlo en este foro.
Saludos!
 
Gracias, estoy probandola, pero al generar el archivo" ia.CPA.php" me voto este error ( Parse error: syntax error, unexpected '=' in /home/netwil/public_html/ia.CPA.php on line 1), creo haber seguido todos los pasos bien y abri el archivo y encontre esto:
PHP:
<?phpn=array(	'AR' => array(
		'0' => array(
			'id' => '210',
			'name' => 'ARGENTINA - Binbit - Continuar 2 ',
			'tracking_url' => 'http://track.users2cash.com/aff_c?offer_id=xxx&aff_id=xxxx',
			'countries' => 'Argentina',
			'countries_short' => 'AR' 
		),
		'1' => array(
			'id' => '209',
			'name' => 'ARGENTINA - Binbit - Megaupload',
			'tracking_url' => 'http://track.users2cash.com/aff_c?offer_id=xxx&aff_id=xxxx',
			'countries' => 'Argentina',
			'countries_short' => 'AR' 
		),
		'2' => array(
			'id' => '123',
			'name' => 'ARGENTINA - Binbit - Movil para continuar',
			'tracking_url' => 'http://track.users2cash.com/aff_c?offer_id=xxx&aff_id=xxxx',
			'countries' => 'Argentina',
			'countries_short' => 'AR' 
		),
		'3' => array(
			'id' => '50',
			'name' => 'ARGENTINA - Binbit - Rayos X',
			'tracking_url' => 'http://track.users2cash.com/aff_c?offer_id=xxx&aff_id=xxxx',
			'countries' => 'Argentina',
			'countries_short' => 'AR' 
		) 
	),
	'BO' => array(
		'0' => array(
			'id' => '222',
			'name' => 'BOLIVIA - BINBIT- CONTINUAR 2',
			'tracking_url' => 'http://track.users2cash.com/aff_c?offer_id=xxx&aff_id=xxxx',
			'countries' => 'Bolivia',
			'countries_short' => 'BO' 
		),

bueno separe lo de la primera linea:
PHP:
<?php 
n= array(	'AR' => array(
pero igual me sigue mostrando el error :grumpy:

EDIT: le agrege "$" a la segunda linea, y dejo de botarme el error, pero me redirecciona a mi otra pagina, no se si me este funcionando bien o no, quiza se deba al error que tiene users2cash que ya mas de una hora que no me muestra anuncion y solo un mensaje :
track.users2cash.com
is not loading.
 
Última edición:
el problema es que el foro (forobeta) edito parte del archivo
en cpa.php busca esto:
PHP:
<?phpn$IA=array(".array2php($data).");n?>
Y pon:
file-a1725bbb8c4d366e07e978d5b1aa5b10.jpg


O usa el archivo adjunto cpa.rar

Saludos!
 
Bueno, gracias por la ayuda la parecer esta vez si me sale la url de users2cash, lastima que se tenga problemas con la publicidad, no muestra la publicidad (error de la pagina, ya paso una hora que no muestra anuncios en mi pagina).
espero con ganas, poder aplicarla en mi sitio! :welcoming:
 
Perdonad mi ignorancia

Con este sistema, pretendemos poner publicidad automaticamente de adjal o user2cash dependiendo del origen de la visita no? Si es asi, la publicidad no es controlable, con lo que nos podria poner publicidad de mujeres desnudas en una pagina religiosa, es asi?

Gracias
 
No es poner publicidad automaticamente, sino es poner un banner echo por ti y redireccionar a cpa.php, y eso redireccionaria a la promo del pais del usuario.
 
Hola cicklow.
Etoy intentando lo del script pero me perdí... no soy muy buena en esto del PHP... todavía. Verás, yo tengo el geoip y un archivo php funcionando para mis campañas de users2cash, pero creo que ha quedado un poco defasado y no reconoce algunas ips. Quisiera colocar este que amablemente compartes con todos. Pero no entiendo que archivos exatamente debo subir, lo único que entiendo es que debo modificar el API de mi users2cash y la dirección a la queiro que redireccione en el archivo cpa.php que ese sí tengo claro que hay que subirlo, pero después de eso, no sé como hacer lo de la caché y qué archivos del geoip debo subir exactamente.

Gracias de antemano,

Saludos
 
Por que no suben una versión modificada con el ultimo IPv6 y cpa para los que no sabemos tanto, dan el codigo, pero no donde hay que insertarlo v.v

Me sale este error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/todoandr/public_html/cpa.php on line 20

Lo solucione el de arriba, ahora me sale este:


Warning: include(ia.CPA.php) [function.include]: failed to open stream: No such file or directory in /home/todoandr/public_html/cpa.php on line 82

Warning: include(ia.CPA.php) [function.include]: failed to open stream: No such file or directory in /home/todoandr/public_html/cpa.php on line 82

Warning: include() [function.include]: Failed opening 'ia.CPA.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/todoandr/public_html/cpa.php on line 82

Warning: Cannot modify header information - headers already sent by (output started at /home/todoandr/public_html/cpa.php:82) in /home/todoandr/public_html/cpa.php on line 87
 
Última edición:
Hola todos, haber yo hice uno similar pero mas simple.

PHP:
<?php	@set_time_limit(0);	include("geoip/geoip.inc");	$gi = geoip_open("geoip/GeoIP.dat",GEOIP_STANDARD);	$IP = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);	if($IP==""){         $IP = "ES"; //Valor por defecto españa        } 	geoip_close($gi);	  if(isset($_GET['cache']) && $_GET['cache']=='1') {	$API = 'AFFHWm2bWFthU5iqrfnFynk2CyIEk9'; //AQUI VA TU API, REEMPLAZAR POR LA TUYA	$URL = 'http://network.users2cash.com/offers/offers.json?api_key='.$API;	$json=json_decode(file_get_contents($URL));	$ArrPais = Array();		foreach($json->data->offers AS $key=>$value){			   $ArrPais[$value->countries_short][]= Array(			   'id'=>$value->id,			   'pais'=>$value->countries,			   'anuncio'=>$value->name,			   'tracking_url'=>$value->tracking_url,			   'pago'=>$value->payout			   );  	}		$fp = fopen('cache.json', 'w');	fwrite($fp,json_encode($ArrPais));	fclose($fp); }else {        $jsonCache =json_decode(file_get_contents('cache.json'));		$paisActual = $jsonCache->$IP;		$url_redirect = $paisActual[rand(0,count($paisActual)-1)]->tracking_url;		if($_GET['go']=='1') {			  header('location: '.$url_redirect);       } }?>

Lo enlazan así.

<a href="descargar.php?go=1" target="_blank"><img src="URLbanner"/></a>

Para hacer caché seria así (La cache se hace primero)

ir a la direccion: tupagina.com/descargar.php?cache=1

Adjunto el script:
http://static.tutsnt.com/publi.rar

Importante: Deben darle permisos de escritura a la carpeta. 777 , sino no se hará la caché.
 
Por que no suben una versión modificada con el ultimo IPv6 y cpa para los que no sabemos tanto, dan el codigo, pero no donde hay que insertarlo v.v

Me sale este error: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/todoandr/public_html/cpa.php on line 20

Lo solucione el de arriba, ahora me sale este:


Warning: include(ia.CPA.php) [function.include]: failed to open stream: No such file or directory in /home/todoandr/public_html/cpa.php on line 82

Warning: include(ia.CPA.php) [function.include]: failed to open stream: No such file or directory in /home/todoandr/public_html/cpa.php on line 82

Warning: include() [function.include]: Failed opening 'ia.CPA.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/todoandr/public_html/cpa.php on line 82

Warning: Cannot modify header information - headers already sent by (output started at /home/todoandr/public_html/cpa.php:82) in /home/todoandr/public_html/cpa.php on line 87

Tienes que crear el cache antes, de lo contrario no funciona.
cpa.php?cache=1
 
Gracias ahora si, son unos maestros =D
 
Gracias ziney.

He seguido tus pasos pero al escribir la url de la caché veo este error (he sustituido el nombre de la carpeta al escribir este comentario)

Warning: fopen(cache.json) [function.fopen]: failed to open stream: Permission denied in /home/xxxxxxxx/public_html/descargar.php on line 27

Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/xxxxxxx/public_html/descargar.php on line 28

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/xxxxxxx/public_html/descargar.php on line 29
 
Gracias ziney.He seguido tus pasos pero al escribir la url de la caché veo este error (he sustituido el nombre de la carpeta al escribir este comentario)Warning: fopen(cache.json) [function.fopen]: failed to open stream: Permission denied in /home/xxxxxxxx/public_html/descargar.php on line 27Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/xxxxxxx/public_html/descargar.php on line 28Warning: fclose() expects parameter 1 to be resource, boolean given in /home/xxxxxxx/public_html/descargar.php on line 29​
Hola amigo.
Eso error sucede cuando la carpeta o el archivo no tiene permisos de escritura, con tu programa FTP favorito.
Ubica la carpeta y aplicale permisos 777. (Dando click derecho propiedades).

Hecho esto , ahora haga el cache de las campañas accediendo descargar.php?cache=1

Para los enlaces en link es: descargar.php?go=1 ,

El cache lo puedes hacer diario semanal o como gustes. Saludos y a ganar mas $$$.
 
Hola ziney.

Gracias por responder y rápido. Muy agradecida.
Verás tengo asignado a la carpeta geoip con el Filezilla el permiso 777 pero se sigue mostrando el error. O hay que subirl la carpeta publi con los archivos dentro y es a esa carpeta a la que hay que darle permiso 777?
1 Modifiqué el api
2 subi los archivos y le di 777 a la carpeta geoip
3 creé la cache.
4 soy novata y no me funciona... lo siento, trato de aprender.
 
Hola ziney.

Gracias por responder y rápido. Muy agradecida.
Verás tengo asignado a la carpeta geoip con el Filezilla el permiso 777 pero se sigue mostrando el error. O hay que subirl la carpeta publi con los archivos dentro y es a esa carpeta a la que hay que darle permiso 777?
1 Modifiqué el api
2 subi los archivos y le di 777 a la carpeta geoip
3 creé la cache.
4 soy novata y no me funciona... lo siento, trato de aprender.

Sube la carpeta publi, o si deseas puedes renombrarla.
Y a esa carpeta aplicale pos permisos 777 Recursivamente.

Y luego enlazas de acuerdo a tu sitio: por ejemplo pagina.com: The Leading Publishing Site on the Net

Suerte me cuentas como te fue!
 
Holtas again.

Lo he hecho. He subido la carpeta publi al directorio principal de mi host y le puesto permiso 777, luego he escrito la url de la cache pero sigo viendo el mismo error... qué puede ser?

Gracias
 
Haber prueba colocando este archivo dentro de la carpeta Publi.
Enlace eliminado

Y puedes pasarme el link de tu pagina que genera el cache-?
 
Atrás
Arriba