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();
}