Laravel establecer nombre de la cookie que incluya un punto (.)
Estoy tratando de enviar una cookie cuyo nombre contiene dos puntos.
este es mi código
$response = Http::withHeaders([
'Cookie' => '.cookie.withdots=test-value'
])->get('http://example.com');
ahora, cuando envío esta solicitud a mi sistema en otra ruta e imprimo las cookies, los puntos (.) se han transformado en guiones bajos ():
array:1 [
"cookie_withdots" => "test-value"
]
Necesito que se mantengan como puntos (.). ¿Qué puedo hacer, chicos?
davy.ai
No se recomienda utilizar cookies con nombres que contengan dos o más puntos debido a razones de seguridad. Sin embargo, si realmente necesitas utilizarlos, puedes intentar codificar el nombre de la cookie con base64 antes de enviarlo y luego decodificarlo al recibirlo.
Aquí tienes un ejemplo de cómo puedes codificar el nombre de la cookie:
Y luego decodifica el nombre de la cookie al recibirlo:
Sin embargo, ten en cuenta que utilizar la codificación base64 para nombres de cookies no las hace completamente seguras y aún pueden ser vulnerables a ataques como XSS (cross-site scripting). Se recomienda encontrar una solución alternativa o reconsiderar el uso de cookies con nombres que contengan varios puntos.