Función php compatible javascript

Hola experto!!

Es posible generar una función en php que sea compatible en javascript, es decir, necesito crear una función en php y en javascript que funcionen igual, esto, para lo siguiente:

Necesito generar un código aleatorio en javascript y luego pasarlo como parámetro bien sea get o post a php mediante ajax, una vez recibido el valor en php, haya una función que genere ese mismo código y luego se pueda hacer una validación de igualdad en los códigos generados en la función javascript y php, todo esto lo necesito para validar que no ingresen a mis ficheros php directamente desde la url, sino que lo hagan a través de la interfaz que he diseñado.

Estoy atento a sus comentarios, gracias por la ayuda que me pueda prestar.

Salu2!!

Respuesta
1

Entiendo tu necesidad, pero no creo que sea el camino correcto, ya que la función javascript es visible por el cliente viendo el código fuente de la pagina.

Para este tipo de validación te recomiendo usar variables de session.

En el primer script php inicializa una vearible de session poniéndole una cadena aleatoria imprime aparte de todo el html la función js que valida mediante ajax y en la url que llames por ajax enviá como parámetro esta cadena. En el script php que llamaste por ajax verifica que la cadena que te llego por ajax y la que tienes en la sesión coinciden.

Algo de código:

¿
<?php
session_start();
$_SESSION['cadena']=sha1(md5(uniqid()));
$j="<script>
    function mi_jsvalidation(){
        $.get('ajax/validar.php?mihash={$_SESSION[]}',function(r){al
            eval(r);
        });
</script>";
//todo el codigo de la pagina en si
echo js;
?>
/////////validar.php
<?php
session_start();
if($_SESSION['cadena']==$_GET[mihash]){
    echo "location.href='miurl.php'";
}else{
    echo "alert('acceso denegado')";
}
unset($_SESSION['cadena']);
exit();

Es solo una idea para que tomes de ejemplo, pero mas allá del método que uses, te recomiendo que uses variables de session.

$j="<script>
function mi_jsvalidation(){
    $.get('ajax/validar.php?mihash={$_SESSION[cadena]}',function(r){al
        eval(r);
    });
}
</script>";
//corrijo error tipogràfico

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas