Estoy escribiendo una aplicación web que realizará solicitudes a través de AJAX y desea bloquear esas llamadas. Después de un poco de investigación, estoy considerando usar algún tipo de token (cadena) aleatorio para pasar junto con la solicitud (¿GUID?). Aquí están las partes importantes de mi algoritmo:Asegurar las solicitudes AJAX a través de GUID
- Asigne un token a una variable de JavaScript (servidor generado).
- Además, almacene ese token en un DB y asígnele un período de tiempo válido (es decir, 10 minutos).
- Si el token aún no se ha utilizado y se encuentra dentro de su ventana de tiempo válida, permita la llamada.
- Devuelva la información solicitada si es válida; de lo contrario, registre la solicitud e ignórela.
Con miras a la seguridad, ¿tiene sentido esto? Para el token, ¿funcionaría un GUID? ¿Debería ser algo más? ¿Hay una buena manera de encriptar variables en la solicitud?
EDIT:
entiendo que estas peticiones AJAX no serían verdaderamente "seguras", pero me gustaría añadir seguridad básica en el sentido de que me gustaría evitar que otros utilicen el servicio que pretendo escribir. Este token aleatorio sería una defensa básica de primera línea contra llamadas abusivas. Los datos que se solicitarían (e incluso se enviarían para generar dichos datos) tendrían ALTAS probabilidades de repetirse.
Tal vez estoy equivocado al usar un GUID ... ¿Qué tal una cadena generada al azar (token)?
Mi corazonada es que estás hablando exactamente de lo que estoy buscando. ¿Puedes elaborar y posiblemente incluir algunos enlaces? ¡Gracias por la ayuda! – Aaron
Usando mi propia biblioteca puedo cifrar cadenas, y en el fondo de esto, es exactamente de lo que estoy hablando. Entiendes lo que quiero decir ... ¿Crees que vale la pena buscar mi algo? Si es así, ¿qué sugieres como algo para generar la secuencia aleatoria o qué otras opciones sugieres? – Aaron
@Aaron agregó una actualización, este es un escenario para firmar información no cifrada, también supongo que no está haciendo criptografía personalizada en su biblioteca. La información para identificar la solicitud no tiene que ser aleatoria, ya que se está firmando. – eglasius