Los valores de fábrica son los de su ordenador
El 31 de agosto de 2026, casi todas las páginas que guardamos de la sede electrónica del Ministerio de Hacienda cargaban un programa con dos datos escritos a mano: el número de una página y una dirección web. Ninguno de los dos era de la sede. Eran los que el programa usa cuando corre en el ordenador donde se escribió, y la página los cambiaba por los buenos justo antes de usarlos. Lo cargaban 79 de las 81.
- Dominio
- sede.hacienda.gob.es
- Guardado
- 31 AGO 2026
- Comprobado en vivo
- 15 SEP 2026
- Citas
- 6 en 2 ficheros guardados
- Lectura
- unos 3 min

Cuando alguien programa una página, trabaja en su ordenador. Ahí la página vive en una dirección de mentira que solo funciona dentro de esa máquina: la que empieza por localhost, el nombre con el que cualquier ordenador se llama a sí mismo. Es lo normal y es lo que hay que hacer. Lo que no es normal es que esa dirección viaje. Y menos que viaje a la sede de un ministerio.

La función que abre esta pieza tiene un nombre de las que no engañan: conseguir los datos de la petición. Antes de pedirle nada al servidor, el ordenador del ministerio que contesta a las páginas, hay que decirle de qué página se trata, y para eso hacen falta dos cosas: el número interno de la página y su dirección completa. La función empieza declarando los dos, con valores puestos a mano. El número es el 196.
La dirección empieza por https://, sigue con el nombre de una máquina que el museo no publica y termina en punto hacienda punto gob punto es, con una ruta que acaba en p1. El 23 de septiembre de 2026 volvimos a preguntar por ese nombre al sistema de nombres de internet, la guía que convierte nombres en direcciones, y no devuelve ninguna: desde fuera, esa máquina no está. Y p1 suena a lo que uno teclea cuando necesita una página cualquiera para probar.
- Copia
- archivo
- Guardado
- 31 ago 2026
- Peso
- 422,3 kB
- sha256
- aeb36c03f1f7…
- Tapado
- 1 tramos ▒
| 1 | /*! For license information please see sede-subscriptions.js. |
| 2 | …e= |
Justo después viene la condición que da la vuelta a todo. Dice: si la dirección desde la que se está ejecutando esto no empieza por http://localhost:8050, entonces, y solo entonces, cambia esos dos valores por los de verdad, el número real de la página y la dirección que tiene el navegador en ese momento. Léalo otra vez: lo que se escribió como caso normal es estar en el ordenador de uno. Lo demás es la excepción.
- Copia
- archivo
- Guardado
- 31 ago 2026
- Peso
- 422,3 kB
- sha256
- aeb36c03f1f7…
| 1 | /*! For license information please see sede-subscriptions.js. |
| 2 | …ndow. |
Y ahora, enseguida, lo que esto no es, porque tiene mejor arreglo de lo que parece. El visitante nunca está en localhost:8050, así que la excepción se cumple siempre y los valores que se usan son los buenos. Nadie recibe el número 196 ni acaba en una dirección que no existe. La página funciona. Lo que queda es el retrato.
La función siguiente, pegada a esta, es del mismo estilo: mira si el sitio empieza por localhost y, si es que sí, manda las consultas del programa a otro puerto de la misma máquina, el 7287. Un puerto es la puerta concreta por la que entra una conversación en un ordenador: una misma máquina tiene miles, numeradas, y cada programa escucha en la suya.
- Copia
- archivo
- Guardado
- 31 ago 2026
- Peso
- 422,3 kB
- sha256
- aeb36c03f1f7…
| 1 | /*! For license information please see sede-subscriptions.js. |
| 2 | …st. |
Dos puertos distintos, el 8050 y el 7287: los que el programa espera encontrar en el ordenador de quien lo escribía, y que acabaron publicados en la sede del ministerio que hace los presupuestos del Estado. Estos dos números no dicen nada de la sede. Dicen cómo estaba montado el escritorio de quien la programó. Son el rastro de una mesa de trabajo, y el 31 de agosto viajaban con casi todas las páginas que guardamos de la sede.
El fichero lo montó alguien con oficio: son 422.274 bytes de programa comprimido, con su gestión de la sesión, su identificador de usuario y su credencial guardada en el navegador. En el paso de la máquina de uno al servidor de todos, lo que estaba puesto para probar se quedó puesto. Y cada página lo pedía con una sola línea de su código, como se pide cualquier otro programa.
- Copia
- archivo
- Guardado
- 31 ago 2026
- Peso
- 422,3 kB
- sha256
- aeb36c03f1f7…
| 1 | /*! For license information please see sede-subscriptions.js. |
| 2 | …essionStorage. |
- Copia
- archivo
- Guardado
- 31 ago 2026
- Peso
- 29,5 kB
- sha256
- 3f788a5b683f…
| 386 | </li> |
| 387 | </ul> |
| 388 | </div> |
| 389 | </div> |
| 390 | </footer> |
| 391 | </div> |
| 392 | <script src="/_ |
| 393 | <script src="/_ |
| 394 | <script src="/_ |
| 395 | <script src="/_ |
| 396 | <script src="/_ |
| 397 | <script src="/ |
| 398 | <script src="/ |
| 399 | <script src="/_ |
| 400 | |
| 401 | </body> |
| 402 | </html> |
El fichero sigue ahí. El que pedimos el 15 de septiembre de 2026 tenía la misma huella y los mismos 422.274 bytes que el que guardamos el 31 de agosto, y el del 23 de septiembre también: el 196, la dirección que no existe y los dos puertos siguen dentro. Lo que ha cambiado son las páginas. Ese 23 de septiembre volvimos a pedir, una a una, las 79 que lo cargaban, y la línea que lo llamaba ya no está en ninguna.
- Copia
- archivo
- Guardado
- 31 ago 2026
- Peso
- 422,3 kB
- sha256
- aeb36c03f1f7…
- Tapado
- 1 tramos ▒
| 1 | /*! For license information please see sede-subscriptions.js. |
| 2 | …e= |
El programa está escrito desde el punto de vista de su autor: en casa, todo normal; fuera de casa, la excepción. Fuera de casa somos los demás.
- El fichero sede-subscriptions.js de sede.hacienda.gob.es (422.274 bytes, guardado el 31 de agosto de 2026 y con la misma huella el 15 y el 23 de septiembre) define como valores por defecto de la petición el identificador de página 196 y una dirección absoluta cuyo nombre de máquina no resuelve en el sistema de nombres público (comprobado el 23 de septiembre), y los sustituye por los valores reales únicamente cuando el origen de la página no empieza por http://localhost:8050.
- La función siguiente fija la dirección de la interfaz de programación en https://localhost:7287 cuando el host empieza por localhost.
- 79 de las 81 páginas que guardamos de la sede el 31 de agosto cargaban ese fichero.
- El 23 de septiembre de 2026, pedidas de nuevo una a una, ninguna de esas 79 lo cargaba.
- No publicamos el nombre de la máquina de desarrollo, solo el dominio al que pertenece.
- No decimos que a esa máquina se pueda llegar desde fuera: no resuelve en internet y no lo hemos intentado.
- No decimos que esto afecte al visitante: no le afecta, porque la condición se cumple siempre fuera del ordenador de desarrollo.
- No sabemos qué día ni por qué las páginas dejaron de cargar el fichero: entre el 31 de agosto y el 23 de septiembre no las volvimos a pedir.
- Y no decimos nada de lo que guarda la sesión más allá de que existe: no hemos entrado en la sede ni hemos iniciado sesión.
De dónde sale cada cita
Cada trozo de código de esta ficha está en un fichero guardado tal como lo entregó el servidor, con su huella (sha256) y su hora. Las citas entre «» se comprueban por programa contra ese fichero antes de publicar.
- https://sede.hacienda.gob.es/js/sedesubscriptions/sede-subscriptions.js31 de agosto de 2026, 19:27archivosha256 aeb36c03f1f7375c1e245c40bae176b74e002a1b5bddd2b9b13888f2772a5ced
- https://sede.hacienda.gob.es/js/sedesubscriptions/sede-subscriptions.js15 de septiembre de 2026, 18:13en vivo · byte a byte igualsha256 aeb36c03f1f7375c1e245c40bae176b74e002a1b5bddd2b9b13888f2772a5ced
- https://sede.hacienda.gob.es/es-es/sedes/igae/paginas/listadotramites31 de agosto de 2026, 19:31archivosha256 3f788a5b683fe7131b6a63c35afa1ef953e1c7713a4a047534d7b160bda1a6ec