Tengo un sitio estático que tiene formularios. Los formularios se envían a un punto final de Rails que captura los datos enviados. El sitio estático y el punto final de Rails están en el mismo dominio, en diferentes subdominios y todo el tráfico está completamente en HTTPS.
Entiendo cómo funciona Rails CSRF para los formularios generados por el servidor. Pero en mi caso, estos formularios están en páginas HTML estáticas. Entiendo que todos los encabezados de solicitud pueden ser falsificados, por lo que no puedo confiar en eso.
Si no es posible encontrar una solución sólida para este escenario, mi última opción sería pasar a los formularios generados por el servidor (lo que quiero evitar por ahora).
Cualquier sugerencia sobre un buen enfoque de esto sería muy bienvenida. O cualquier puntero a un sistema o una biblioteca que ya haga esto.
Podría implementar una comprobación de REFERER en la solicitud POST de HTTPS (en mi caso). ¿Es eso suficiente? ¿No puede ser falsificado?
La hoja de trucos para la prevención de CSRF dice: Aunque es trivial falsificar el encabezado de referencia en su propio navegador, es imposible hacerlo en un ataque CSRF. - No entiendo muy bien esto.
Cualquier ayuda sería muy apreciada.