landing secret key bemob

krloss

Nuevo Miembro
Saludos hermanos.

Escribo este hilo pidiendo ayuda sobre la protección de landing page que tiene el tracker de bemob. he seguido los pasos que indica bemob en su tutorial
1) Agregando este código a el inicio de mi landing page y remplazando la llave secreta por la que me asigna bemob.

PHP:
<?phpdefine('LANDING_SECRET_KEY', 'ODk4ZDc2MjM2MGE4NmRjMmRiY2E3Njg1MDFlZTU0MTIxNjU5YzE1Yw=='); // Your landing secret key from panel.bemob.com -> Settings -> Trackerdefine('SIGNATURE_TTL', '1 minute'); // How long signature should be valid. Valid formats are explained here: http://php.net/manual/en/datetime.formats.phpdefine('SIGNATURE_GET_PARAM', 'key'); // GET parameter with BeMob landing signature$signature = isset($_GET[SIGNATURE_GET_PARAM]) ? rawurldecode($_GET[SIGNATURE_GET_PARAM]) : exit('Access denied');if (!$signature = base64_decode($signature)) {    exit('Access denied');}if (!$signature = json_decode($signature, true)) {    exit('Access denied');}if (!isset($signature['timestamp']) || !isset($signature['hash'])) {    exit('Access denied');}$signedHash = hash_hmac('sha1', $signature['timestamp'], LANDING_SECRET_KEY);if ($signedHash !== $signature['hash'] || strtotime(SIGNATURE_TTL, $signature['timestamp']) < time()) {    exit('Access denied');}?>

2 ) Guardando la landing page con la extensión .php y por ultimo agregando el siguiente parámetro ?key={landingSignature} a la url de mi landing page en el tracker

El problema esta que cuando intento ver mi landing page por la url que me proporciona la campaña no puedo ver la landing page, me aparece solo una pagina en blanco.

landing error.jpg


Espero que me puedan ayudar no se que estaré haciendo mal, pienso que debería poder ver mis landing pages desde la url que me proporciona la campaña.
Gracias de antemano a todos los que me puedan ayudar.
Saludos
 
Última edición por un moderador:

marianocordoba

Administrador
Miembro del equipo
Hola. Podrías copiar nuevamente el código que tienes en tu landing? Le puse formato de código pero no se llega a ver bien por el espaciado.
Usa las etiquetas de código para pegarlo, así se visualiza bien. Cuando esté copiando el texto, fijate que hay unos botones para darle formato al mensaje. Uno en particular son 3 puntos, cuando lo presionas te da la opción de agregar código. Luego eliges php y pegas el código que utilizas en tu landing.
 

krloss

Nuevo Miembro
Hola mariano gracias por responder.

El codigo que coloque a el inicio de mi landing fue el siguiente
PHP:
<?php
define('LANDING_SECRET_KEY', 'ODk4ZDc2MjM2MGE4NmRjMmRiY2E3Njg1MDFlZTU0MTIxNjU5YzE1Yw=='); // Your landing secret key from panel.bemob.com -> Settings -> Tracker
define('SIGNATURE_TTL', '1 minute'); // How long signature should be valid. Valid formats are explained here: http://php.net/manual/en/datetime.formats.php
define('SIGNATURE_GET_PARAM', 'key'); // GET parameter with BeMob landing signature
$signature = isset($_GET[SIGNATURE_GET_PARAM]) ? rawurldecode($_GET[SIGNATURE_GET_PARAM]) : exit('Access denied');
if (!$signature = base64_decode($signature)) {
    exit('Access denied');
}
if (!$signature = json_decode($signature, true)) {
    exit('Access denied');
}
if (!isset($signature['timestamp']) || !isset($signature['hash'])) {
    exit('Access denied');
}
$signedHash = hash_hmac('sha1', $signature['timestamp'], LANDING_SECRET_KEY);
if ($signedHash !== $signature['hash'] || strtotime(SIGNATURE_TTL, $signature['timestamp']) < time()) {
    exit('Access denied');
}
?

Obviamente cambie la clave secreta por la que me proporciona bemob y borre los textos que explican las lineas del ejemplo de bemob

saludos
 

marianocordoba

Administrador
Miembro del equipo
Pues la verdad es que no veo una falla en tu implementación.
Te recomiendo que contactes al soporte de Bemob, ellos tienen Skype incluso (skype: [email protected]).
Luego si puedes comentar cual era el problema sería buenísimo.
Saludos!
 
Arriba