Viewing file: redirect.php (5.58 KB) -rw-rw-r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
require_once("config.php");
require_once("functions.php");
db_connect();
$alias = str_replace("/","",trim(mysql_real_escape_string($_GET['alias'])));
/*print_r($_REQUEST);
print_r($_SERVER);
echo "ALIAS ES $alias";
die();
*/
if (!preg_match("/^[a-zA-Z0-9_-]+$/", $alias)) {
// echo "$alias incorrecto";
// die();
header("Location: ".SITE_URL, true, 301);
exit();
}
?>
<?php
//db_connect();
$cript=new Encriptor();
$alias_des=$cript->decrypt($alias);
$array_alias=explode("|",$alias_des);
//var_dump($array_alias);
//die();
// esto es un enlace desde tor, no es para redirecionar directamente
if (count($array_alias)>1){
$movil=0;
require_once ('Mobile_Detect.php');
$detect = new Mobile_Detect();
$movil=0;
if ($detect->isMobile()) {
// Detecta si es un m�vil
$movil=1;
}
if ($detect->isTablet()) {
// Si es un tablet
$movil=1;
}
$movil=0;
// verificamos que [1] esta contenido en [0] (es un crc cutroso, pero funciona!
if (intval($array_alias[0])<>intval($array_alias[1])){
header("Location: ".SITE_URL, true, 301);
exit();
}else{
// VALIDADO! el enlace (id, formato)
// sacamos la IP del cliente
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script type="text/javascript">
var adfly_id = 14157829;
var adfly_advert = 'int';
var popunder = true;
var exclude_domains = ['example.com', 'yoursite.com'];
</script>
<link rel="stylesheet" type="text/css" href="fkt.css" /> </head><body>
<?php
//propellerads <script type="text/javascript" src="//go.oclasrv.com/apu.php?zoneid=1158816"></script>
// linkbucks
//echo '<script type="text/javascript" src="http://www.yko.io/Webservices/jsParseLinks.aspx?id=oSir"></script>';
// adf.ly
//echo '<script src="https://cdn.adf.ly/js/entry.js"></script>';
//echo ' <script src="https://cdn.adf.ly/js/link-converter.js"></script>';
//<script src="https://cdn.adf.ly/js/link-converter.js"></script>
// ahora, preguntamos al server:
// phpinfo();
$a=$cript->encrypt($array_alias[0]) ;
$b=$cript->encrypt("fb2") ;
$ip=ip();
$f=$cript->encrypt($ip) ;
$movil=$cript->encrypt($movil);
//echo "http://blabla123.no-ip.org:32000/json_serv.php?a=$a&b=$b&f=$f&m=$movil";
$handle= @fopen("http://blabla123.no-ip.org:32000/json_serv.php?a=$a&b=$b&f=$f&m=$movil", "r");
//echo "http://blabla123.no-ip.org:32000/json_serv.php?a=$a&b=$b&f=$f&m=$movil";
$texto=stream_get_contents($handle);
fclose($handle);
$Link=json_decode($texto);
// echo "fb2=".$Link->fb2;
// echo "epub=".$Link->epub;
// echo "mobi=".$Link->mobi;
$muestra="<center><p class='titulo'>Descarga el fichero en cualquiera de estos formatos:</p>";
if (strlen($Link->fb2)>10){
$muestra.="<p><a href='".$Link->fb2."' class='myButton'>FB2</a></p>";
}
if (strlen($Link->epub)>10){
$muestra.="<p><a href='".$Link->epub."' class='myButton'>Epub</a></p>";
}
if (strlen($Link->mobi)>10){
$muestra.="<p><a href='".$Link->mobi."' class='myButton'>Mobi</a></p>";
}
echo $muestra."<center></body></html>";
// header("Location: ".$Link->ruta, true, 301);
die();
}
}
// esto es la redirecci�n pura.
if (($url = get_url($alias))) {
// aqui, debieramos actualizar el contador de la BBDD
$db_result = mysql_query("update ".DB_PREFIX."urls set counter=counter+1 WHERE BINARY code = '$alias' OR alias = '$alias'") or db_die(__FILE__, __LINE__, mysql_error());
header("Location: $url", true, 301);
exit();
}
header("Location: ".SITE_URL, true, 301);
// funciones
function ip(){
$ip="";
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return($ip);
}
// clase
class Encriptor
{
# The key (for security reason, it must be private)
private $Key='W2KPRO_7_caballos_vienen_de_bonanza';
// Generates the key
public function __construct($Key = 'W2KPRO_7_caballos_vienen_de_bonanza') {
$Key = str_split(md5($Key), 1);
$signal = false;
$sum = 0;
foreach($Key as $char) {
if($signal) {
$sum -= ord($char);
$signal = false;
} else {
$sum += ord($char);
$signal = true;
}
}
if($sum < 0) $sum *= -1;
$this->Key = $sum;
}
// Encrypt
public function encrypt($text) {
$text=base64_encode($text);
$text = str_split($text, 1);
$final = NULL;
foreach($text as $char) $final .= sprintf("%03x", ord($char) + $this->Key);
return $final;
}
// Decrypt
public function decrypt($text) {
$final = NULL;
$text = str_split($text, 3);
foreach($text as $char) $final .= chr(hexdec($char) - $this->Key);
return base64_decode($final);
}
}
|