tl; dr: lea sobre las técnicas de protección de falsificación de solicitudes entre sitios (CSRF) , por ejemplo, en el sitio web de OWASP: Hoja de trucos de prevención de falsificación de solicitudes entre sitios (CSRF)
Tenga en cuenta que para su aplicación web , las solicitudes POST iniciadas mediante el envío de un formulario en el navegador web y mediante el uso manual de CURL en la consola, los sockets HTTP en otro servidor o una llamada AJAX desde otra página web no se pueden distinguir . Esto es por diseño .
Si desea asegurarse de que la solicitud POST se inicia desde el formulario específico en su sitio web, la protección tradicional es el token de protección CSRF . Cuando el navegador solicita la página con un formulario web, antes de representar su HTML, genere una cadena única, agréguela al formulario en el campo oculto y recuerde su valor. Después de recibir los datos enviados, verifique que se pasó el token y que su valor es el que recordaba. Puede pasar el token en cookies y / o encabezados, si no desea utilizar campos de formulario ocultos por algún motivo.
- Cómo aumentar el tiempo de carga de mi sitio web
- ¿Cuál es la mejor manera de comenzar con las pruebas unitarias en django?
- ¿En qué se diferencia Angular 4 de Angular 2 y 3?
- Con JavaScript, ¿puede realmente crear un cuadro de alerta o diálogo desde cero sin depender del navegador?
- ¿Qué debo saber para comenzar a crear sitios web profesionales además de HTML 5 y CSS?
De esta manera, será mucho más difícil hacer esa solicitud POST utilizando cualquier software de cliente que no sea la página web con el formulario. Sin embargo, no piense que es una defensa del 100%, ya que un experto en pruebas de penetración puede imitar el navegador real sin muchos problemas utilizando otros medios de automatización, y no tiene la posibilidad de evitarlo por completo.