Estoy desarrollando una aplicación PHP para administrar pedidos para una empresa. Para ver un pedido, la URL es actualmente /orders/view/3502
.Datos encriptados en las URL
No deseo que el número de ID de la orden aparezca en la URL, así que utilicé la biblioteca de cifrado de CodeIgniter para encriptar la ID en la URL. La URL (después del cifrado) se ve como /orders/view/AaffGdQQ
.
El problema que tengo es que algunas veces el ID encriptado contiene una barra diagonal o un signo más, que no funcionan correctamente cuando están en una URL. CodeIgniter lee la URL en función de barras diagonales, por lo que, si la ID cifrada tuviera una barra inclinada, la leería como 2 variables, no como una. Además, los signos más se interpretan como espacios en las URL.
Entonces, mi pregunta es, ¿cómo puedo encriptar la identificación y estar seguro de que la cadena no contiene un signo más o una barra inclinada?
EDIT: tuve una idea para ver si el ID encriptado contenía una barra o signo más, y si lo hacía, encriptarlo de nuevo. Por alguna razón, cada vez que se encripta la identificación, es diferente, así que esto funcionaría.
¿Qué hay de malo en mostrar la ID del pedido en la URL? –
Mi jefe no lo quiere allí por "razones de seguridad". –
Debe proteger los pedidos marcando si el usuario está realmente autorizado a ver el pedido, no por ofuscación de URL. – newbie