¿Qué sucede si un usuario mira mi archivo JavaScript, copia el contenido de una función y envía una solicitud a mi servidor usando AJAX? ¿Y hay alguna forma de proteger adecuadamente contra esto?Hacer llamadas AJAX seguras
Respuesta
La forma de protección contra esto no es diferente a la forma en que protege contra cualquier solicitud web. Lo hace para que su sitio requiera algún tipo de autenticación (es decir, los usuarios tengan que iniciar sesión) y no hace nada si la solicitud no se autentica correctamente.
Normalmente, cuando realiza una solicitud AJAX, las cookies también se envían junto con la solicitud, por lo que debería ser capaz de utilizar el mismo método de autenticación que utiliza para sus solicitudes habituales con sus solicitudes AJAX.
Según Codeka, no hay forma de evitar que alguien cree su propia consulta Ajax idéntica a la que tiene en su solicitud de Javascript. La protección entre dominios no necesariamente lo protegerá allí, ya que, si lo desean, pueden escribir el Javascript en la barra de direcciones mientras están en una página de su sitio.
La única protección que tiene es validar la entrada y los parámetros proporcionados a través de la consulta Ajax en el lado del servidor. Limite cada PHP o Python o cualquier script de respuesta a una tarea muy específica, y verifique la entrada en el lado del servidor. Si algo está mal, responde con un error.
En resumen, no hay manera de evitar que alguien envíe la solicitud, pero puede evitar que hagan algo que no quiere que hagan en su servidor.
¿Esto significa que nunca se podría crear una arquitectura CRUD segura * y * generalizada usando AJAX? – dclowd9901
Suponiendo que necesita alguna forma de autenticación:
Creo que se puede mantener la sesión de base de datos para validar si la solicitud proviene de un usuario genuino por forjado. Use cookies cifradas para almacenar la ID de la sesión y remita la ID de sesión de la cookie a la base de datos para validar al usuario
- 1. ¿Cómo hacer todas las llamadas AJAX secuencialmente?
- 2. cola de llamadas AJAX
- 3. ¿Cómo hacer llamadas Ajax con Rails 3 usando remote_function?
- 4. ¿Puedo usar PhoneGap Jquery para hacer llamadas ajax?
- 5. llamadas MVC ajax - ¿dónde manejarlas?
- 6. ¿Mejores prácticas para API seguras?
- 7. Cómo "proteger" las llamadas AJAX?
- 8. Llamadas de Ajax al subdominio
- 9. usando SetTimeout con llamadas Ajax
- 10. Cómo encadenar llamadas ajax usando jquery
- 11. Llamadas paralelas de Ajax en Javascript/jQuery
- 12. Hacer llamadas FB.api() sincrónicas
- 13. cómo programar llamadas ajax cada N segundos?
- 14. jQuery objeto diferido con llamadas ajax anidadas
- 15. jQuery llamadas sincrónicas ajax sin bloqueo
- 16. Errores personalizados de PHP para llamadas AJAX
- 17. Encuesta larga bloqueando otras llamadas AJAX
- 18. Llamada global para llamadas Ajax en JQuery
- 19. Rails 3 llamadas de forma remota AJAX
- 20. Deshabilitar ajaxConfiguración predeterminada para algunas llamadas AJAX
- 21. Usando llamadas básicas AJAX dentro de Magento
- 22. Puede agregar prioridades a las llamadas AJAX
- 23. Desactivar BlockUI con certeza llamadas Ajax
- 24. ¿Cómo hacer que las páginas php/html sean seguras/https?
- 25. ¿Cómo hacer que estas funciones tipadas dinámicamente sean seguras?
- 26. ¿Cuáles son las ventajas y desventajas de hacer llamadas ajax usando jquery? Como
- 27. ¿Todas las llamadas al sistema no son seguras en tiempo real?
- 28. URL de clips de seguridad seguras solo para páginas seguras
- 29. jQuery y data-attributes para manejar todas las llamadas ajax?
- 30. Función de JavaScript que devuelve datos de llamadas AJAX
Ahh tiene sentido. Simplemente no sabía si los navegadores tenían algún tipo de protección de dominio cruzado de algún tipo. Gracias amigo. –
el navegador no permitirá xmlhttprequest desde otro servidor/dominio. Sin embargo, si está permitiendo solicitudes json-p, podría suceder, también alguien podría falsificar el navegador, tratar solicitudes de ajax como cualquier otro, como se mencionó. – Tracker1