Me gustaría crear un widget de javascript que los desarrolladores externos inserten en su página agregando:
<script type="text/javascript" src="https://test.com/widget.js" async></script>
El script inyecta el widget de formulario de colección de correo electrónico en una etiqueta div en el sitio web del desarrollador. Cuando un usuario envía el formulario, realiza una solicitud POST a un punto final alojado en nuestro servidor. Usamos recaptcha para validar todas las solicitudes.
Hay algunas implicaciones de seguridad:
- El actor malo puede enviar correo basura al punto final con direcciones de correo electrónico incorrectas.
- Dado que el widget está integrado en la página del desarrollador, pueden usar el widget para propósitos infames y tener nuestro nombre en él.
¿Cómo puedo abordar los problemas de seguridad que vienen con un widget incrustable? Todas las solicitudes pasan por HTTPS. Recaptcha se utiliza para ayudar contra el spam / abuso. ¿Tal vez pueda usar un encabezado de referencia / clave del sitio para validar que la solicitud proviene de un sitio web confiable?
Otra opción es usar un iframe alojado en mi sitio web para mostrar el widget.