Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
musica_listas_topsify
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Cristian Mauricio Diaz Canales
musica_listas_topsify
Commits
e02131b6
Commit
e02131b6
authored
Apr 10, 2019
by
Cristian Mauricio Diaz Canales
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
se genera archivo script para topsify
parent
667c41f9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
232 additions
and
0 deletions
+232
-0
extras/script_topsify.php
extras/script_topsify.php
+232
-0
No files found.
extras/script_topsify.php
0 → 100644
View file @
e02131b6
<?php
/**
* ###################
* 1-INICIO SESION PHP
* ###################
*
*/
if
(
session_id
()
==
''
||
!
isset
(
$_SESSION
))
{
session_start
();
}
/**
* #################################
* 2-OBTENCION DE URI Y PARAMETROS
* #################################
*/
$params
=
getParametersArray
(
urldecode
(
$_SERVER
[
'QUERY_STRING'
]));
write_log
(
$_SERVER
[
'QUERY_STRING'
],
"INFO"
);
/**
* ####################################################################################
* 6-CASO CUANDO ENTEL REDIIRECCIONA HACIA ESTA PAGINA CON EL MSISDN EN LA QUERY (GET)
* ####################################################################################
*/
$urlRetorno
=
"http://new.topsify.cl/app/musica"
;
if
(
empty
(
$params
)){
//$urlRetorno = $_SESSION["urlRetorno"];
write_log
(
"Retorno con msisdn vacio, por parametros vacio"
,
"INFO"
);
write_log
(
$urlRetorno
,
"INFO"
);
header
(
"Location: http://new.topsify.cl/app/musica?msisdn=&m=1"
);
die
();
}
else
if
(
$params
[
0
]
==
"&error"
){
//$urlRetorno = $_SESSION["urlRetorno"];
write_log
(
"Retorno con msisdn vacio"
,
"INFO"
);
write_log
(
$urlRetorno
,
"INFO"
);
header
(
"Location: http://new.topsify.cl/app/musica?msisdn=&m=1"
);
die
();
}
else
if
(
$params
[
0
]
==
"&entelsid"
&&
$params
[
1
]
==
""
)
{
//$urlRetorno = $_SESSION["urlRetorno"];
write_log
(
"Retorno con msisdn vacio"
,
"INFO"
);
write_log
(
$urlRetorno
,
"INFO"
);
header
(
"Location: http://new.topsify.cl/app/musica?msisdn=&m=1"
);
die
();
}
else
if
(
$params
[
0
]
==
"&entelsid"
&&
$params
[
1
]
!=
""
)
{
//$urlRetorno = $_SESSION["urlRetorno"];
$json
=
obtenerMsisdnBySID
(
$params
[
1
]);
write_log
(
$json
[
"msisdn"
],
"INFO"
);
if
(
$json
[
"msisdn"
]
==
""
)
{
write_log
(
"Retorno con msisdn vacio"
,
"INFO"
);
write_log
(
$urlRetorno
,
"INFO"
);
header
(
"Location: http://new.topsify.cl/app/musica?msisdn=&m=1"
);
die
();
}
$msisdn
=
$json
[
'msisdn'
];
write_log
(
"Retorno con msisdn"
,
"INFO"
);
write_log
(
$urlRetorno
,
"INFO"
);
write_log
(
$msisdn
,
"INFO"
);
$msisdn
=
substr
(
$msisdn
,
3
);
header
(
"Location: http://new.topsify.cl/app/musica?msisdn=
$msisdn
"
);
die
();
}
/**
* #################################
* 3-DEFINICION DE DATOS A UTILIZAR
* #################################
*/
$urlRetorno
=
explode
(
"="
,
$params
[
0
])[
1
];
$_SESSION
[
"urlRetorno"
]
=
$urlRetorno
;
$urlEntel
=
"http://smanager.vas.entelpcs.cl/get_content?stype=0"
;
/**
* #################################
* 4-CHEQUEO DE IP CLIENTE
* #################################
*/
$check
=
checkIP
(
getClientIp
(
null
,
false
));
//Chequeo IP
if
(
!
$check
)
{
write_log
(
"IP no válida"
,
"INFO"
);
header
(
"Location: http://new.topsify.cl/app/musica?msisdn=&m=1"
);
die
();
}
/**
* #################################
* 4-CHEQUEO MSISDN DE COOKIE ENTEL
* #################################
*/
if
(
isset
(
$_COOKIE
[
'User-Identity-Forward-msisdn'
])
&&
$_COOKIE
[
'User-Identity-Forward-msisdn'
]
!=
""
)
{
$msisdn
=
substr
(
$_COOKIE
[
'User-Identity-Forward-msisdn'
],
-
11
);
write_log
(
"COOKIE identificada"
,
"INFO"
);
write_log
(
"
$msisdn
obtenido"
,
"INFO"
);
header
(
"Location: http://new.topsify.cl/app/musica?msisdn=
$msisdn
"
);
die
();
}
/**
* ################################################
* 5-LLAMADA A URL ENTEL PARA OBTENCION DE MSISDN
* ################################################
*/
$protocol
=
getProtocolOfSelfHost
();
$selfHost
=
$protocol
.
$_SERVER
[
'HTTP_HOST'
];
$urlFinalEntel
=
"
$urlEntel
&content=
$selfHost
/script.php?"
;
write_log
(
"Redireccionando a entel"
,
"INFO"
);
write_log
(
"
$urlFinalEntel
"
,
"INFO"
);
header
(
"Location:
$urlFinalEntel
"
);
die
();
#######FUNCIONES####################
function
getClientIp
(
$ip
=
null
,
$deep_detect
=
TRUE
)
{
write_log
(
"entrando a obtencion de IP..."
,
"INFO"
);
if
(
filter_var
(
$ip
,
FILTER_VALIDATE_IP
)
===
FALSE
)
{
$ip
=
$_SERVER
[
"REMOTE_ADDR"
];
if
(
$deep_detect
)
{
if
(
filter_var
(
@
$_SERVER
[
'HTTP_X_FORWARDED_FOR'
],
FILTER_VALIDATE_IP
))
$ip
=
$_SERVER
[
'HTTP_X_FORWARDED_FOR'
];
if
(
filter_var
(
@
$_SERVER
[
'HTTP_CLIENT_IP'
],
FILTER_VALIDATE_IP
))
$ip
=
$_SERVER
[
'HTTP_CLIENT_IP'
];
}
}
else
{
$ip
=
$_SERVER
[
"REMOTE_ADDR"
];
}
write_log
(
$ip
,
"INFO"
);
return
$ip
;
}
function
getParametersArray
(
$uri
)
{
write_log
(
"entrando a obtencion de parametros URI..."
,
"INFO"
);
$arr
=
explode
(
"&"
,
$uri
);
if
(
!
empty
(
$arr
))
{
$arr2
=
explode
(
"="
,
$uri
);
write_log
(
json_encode
(
$arr2
),
"INFO"
);
return
$arr2
;
}
write_log
(
json_encode
(
$arr
),
"INFO"
);
return
$arr
;
}
function
getProtocolOfSelfHost
()
{
write_log
(
"entrando a obtencion de protocolo HOST..."
,
"INFO"
);
$protocol
=
""
;
if
(
isset
(
$_SERVER
[
'HTTPS'
])
&&
(
$_SERVER
[
'HTTPS'
]
==
'on'
||
$_SERVER
[
'HTTPS'
]
==
1
)
||
isset
(
$_SERVER
[
'HTTP_X_FORWARDED_PROTO'
])
&&
$_SERVER
[
'HTTP_X_FORWARDED_PROTO'
]
==
'https'
)
{
$protocol
=
'https://'
;
}
else
{
$protocol
=
'http://'
;
}
write_log
(
json_encode
(
$protocol
),
"INFO"
);
return
$protocol
;
}
function
checkIP
(
$ip
)
{
write_log
(
"entrando a chequeo de ip..."
,
"INFO"
);
$url
=
"http://soperator.gearlabs.cl/GetOperador?ip=
$ip
"
;
$ch
=
curl_init
(
$url
);
curl_setopt
(
$ch
,
CURLOPT_HEADER
,
false
);
curl_setopt
(
$ch
,
CURLOPT_NOBODY
,
false
);
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
1
);
curl_setopt
(
$ch
,
CURLOPT_TIMEOUT
,
10
);
$output
=
curl_exec
(
$ch
);
$httpcode
=
curl_getinfo
(
$ch
,
CURLINFO_HTTP_CODE
);
curl_close
(
$ch
);
write_log
(
$output
,
"INFO"
);
write_log
(
$httpcode
,
"INFO"
);
if
(
$httpcode
==
200
)
{
if
(
$output
!==
""
)
{
$operador
=
json_decode
(
$output
,
true
)[
"operador"
];
if
(
$operador
==
"entel"
)
{
return
true
;
}
}
}
return
false
;
}
function
obtenerMsisdnBySID
(
$sId
)
{
write_log
(
"entrando a obtencion de msisdn por sid..."
,
"INFO"
);
$params
=
array
(
'sId'
=>
$sId
);
$url
=
'http://54.221.214.144/smanager/smanager.php?'
.
http_build_query
(
$params
);
$retornoJson
=
null
;
write_log
(
"llamando url
$url
...."
,
"INFO"
);
try
{
$ch
=
curl_init
(
$url
);
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
1
);
curl_setopt
(
$ch
,
CURLOPT_TIMEOUT
,
5
);
$output
=
curl_exec
(
$ch
);
$status_code
=
curl_getinfo
(
$ch
,
CURLINFO_HTTP_CODE
);
write_log
(
$output
,
"INFO"
);
write_log
(
$status_code
,
"INFO"
);
curl_close
(
$ch
);
if
(
$status_code
==
200
)
{
$retornoJson
=
json_decode
(
$output
,
true
);
//$operador = $retornoJson['operador'];
}
}
catch
(
\Exception
$e
)
{
$retornoJson
=
array
();
return
$retornoJson
;
}
return
$retornoJson
;
}
function
write_log
(
$cadena
,
$tipo
)
{
if
(
!
file_exists
(
"/tmp/logs"
))
{
mkdir
(
"/tmp/logs"
,
0777
,
true
);
}
$arch
=
fopen
(
"/tmp/logs/proxy_"
.
date
(
"Y-m-d"
)
.
".txt"
,
"a+"
);
fwrite
(
$arch
,
"["
.
date
(
"Y-m-d H:i:s.u"
)
.
" "
.
$_SERVER
[
'REMOTE_ADDR'
]
.
" "
.
" -
$tipo
] "
.
$cadena
.
PHP_EOL
);
fclose
(
$arch
);
}
########################
?>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment