Estoy desarrollando un juego.
Necesito intercambiar datos entre PHP y JavaScript.
PHP genera un valor (un texto secreto), que es la solución del juego.
PHP codifica el valor a través de base64_encode(), el usuario final no debería encontrar la solución (fácilmente).
PHP almacena el valor codificado en Cookie.
JavaScript lee el valor de la cookie.
JavaScript decodifica el valor, window.atob()
JavaScript comprueba la entrada del usuario frente al texto secreto generado a partir de la cookie.
Este enfoque funciona en localhost, pero no en el servidor web.
El siguiente es el código que estoy usando. (en PHP, configurar el parámetro "dominio" con mi sitio web como "midominio.com" no resolvió el problema)
PHP
function setMyCookie($name, $value) { setcookie($name, $value, [ 'expires' => time() + 86400, 'path' => '/', 'domain' => '', 'secure' => true, 'httponly' => false, 'samesite' => 'None', ]); }
JavaScript
function getCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); for(let i = 0; i <ca.length; i++) { let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; }
Pregunta 1 : ¿Cómo puedo solucionar mi problema en el servidor web?
Pregunta 2 : ¿Hay algún otro enfoque (aparte de las cookies) que pueda recomendar?
gracias bm