16 julio 2019

PHP - Pasar variables entre páginas de forma segura (codificadas)

FUNCION 1: Codificar antes de enviar

function encode_this($string)
{
    $control = "extra";
    $tmp_string = $string;
    $string = $control . $tmp_string . $control;
    $string = base64_encode($string);

    return ($string);
}

FUNCION 2: Decodificar al recibir

function decode_this($string)
{
    $string = base64_decode($string);
    $control = "extra";
    $string = str_replace($control, "", "$string");

    return $string;
}

Esta última función:
1. Decodifica en base64 el string entero (la abominación)
2. Corta del string el string de control que había DELANTE y DETRAS
3. Retorna el valor verdadero que se intentaba enviar

Forma de uso
Página 1 (indice.php)

$id = encode_this($id);
echo "<a href='/abrir_pagina.php?id_secreto=" . $id . "'>Cargar pagina 234</a>";

Página 2 (abrir_pagina.php)

if ($_GET['id_secreto']) {

    if (($id = decode_this(['id_secreto'])) != $date_hbd) {
        echo "Please wait...<br>";
        exit();
    } else {
        header("location: www.goo.gov/secretfile.php?id=" . $id);
    }
} else {
    echo "¿A dónde crees que vas sin tu ID super secreto?<br>";
    exit();
}

No hay comentarios: