Prevención de CSRF?

Ya he visto alguna pregunta desde aquí (stackoverflow) yEST post, pero todavía tengo algunas preguntas ...

Utilizando el valor oculto en el formulario de publicación y verifíquelo cuando la publicación llegue al servidor.

El valor oculto puede copiarse fácilmente y enviarse exactamente como el real, "difícil de adivinar" (como md5) no ayudará. (¿Derecha?

Configurar una cookie cuando llegue al formulario y envíe el valor de la cookie como un valor oculto.

Puede cambiar fácilmente un valor de cookie o enviar una cookie personalizada exactamente como la real usando el mismo valor oculto real. (¿Derecha?

Utilizando 'timeout', los valores POST no pueden llegar demasiado tarde.

Entonces, si eres lento, fracasarás cuando intentes configurar todo con el valor oculto. Si eres rápido, funcionará. (¿Derecha?

Quiero estar protegido sobre CSRF ... pero ¿cómo lo hago exactamente?

Respuestas a la pregunta(4)

Su respuesta a la pregunta