Mejor práctica: secuencias de comandos legítimas entre sitios

Si bien las secuencias de comandos entre sitios generalmente se consideran negativas, me he encontrado con varias situaciones en las que es necesario.

Recientemente estuve trabajando dentro de los límites de un sistema de gestión de contenido muy limitante. Necesitaba incluir el código de la base de datos dentro de la página, pero el servidor de alojamiento no tenía nada disponible disponible. Configuré un par de scripts básicos en mi propio servidor, originalmente pensé que podría usar AJAX para importar el contenido de mis scripts directamente en la plantilla del CMS (conservando así imágenes dinámicas, elementos de menú, CSS, etc.). Estaba equivocado

Debido a las limitaciones deXMLHttpRequest objetos, no es posible obtener contenido de un dominio diferente. Así que pensé iFrame - aunque no soy un fanático de los marcos, pensé que podría crear un marco que coincidiera con el ancho y la altura del contenido para que pareciera nativo. Una vez más, me bloquearon las "protecciones" de secuencias de comandos entre sitios. Si bien podría cargar un archivo remoto en el iFrame, No pude ejecutar JavaScript para modificar su tamaño en la página de host o dentro de la página cargada.

En este escenario particular, no pude apuntar un subdominio a mi servidor. @ Tampoco pude crear una secuencia de comandos en el servidor CMS que pudiera proxy de contenido de mi servidor, por lo que mi último pensamiento fue utilizar un JavaScript remot

Un JavaScript remoto funciona. Se rompe cuando el usuario tiene JavaScript deshabilitado, lo cual es una desventaja; pero funciona. El "problema" que tenía con el uso de un JavaScript remoto era que tenía que usar la función JSdocument.write() para generar cualquier contenido. Cualquier salida que no sea JS causa errores de script. Además de usardocument.write() para cada línea, también debe asegurarse de que se escape el contenido, o de lo contrario terminará con más errores de script.

Mi solución fue la siguiente:

Mi script recibió un parámetro GET ("página") y luego buscó el archivo {$page}.php), y lee el contenido en una variable. Sin embargo, tuve que usar técnicas de almacenamiento en búfer incómodas para ejecutar realmente los scripts incluidos (para cosas como la interacción de la base de datos) y luego quitar el contenido final de todos los caracteres de salto de línea \n) seguido de escapar de todos los caracteres requeridos. El resultado final es que mi secuencia de comandos original (que genera JavaScript) accede a secuencias de comandos aparentemente "estándar" en mi servidor y convierte su salida estándar a JavaScript para mostrarla dentro de la plantilla CMS.

Si bien esta solución funciona, parece que puede haber una mejor manera de lograr lo mismo. ¿Cuál es la mejor manera de hacer que las secuencias de comandos entre sitios funcionen específicamente con el fin de incluir contenido de un dominio completamente diferente?