Actualizado el

Protege una página HTML con contraseña, y lo que un script en la página no puede proteger

Por

Busca esto y las primeras respuestas son unas pocas líneas de JavaScript: un cuadro pide la contraseña y la página se muestra si la respuesta coincide. Eso no deja fuera a nadie que quiera entrar. Aquí está el porqué, y lo que sí funciona.

Pega tu página y elige quién puede abrirla

Por qué una contraseña en la página no es una contraseña

Un navegador solo puede mostrar lo que ya descargó. Si la comprobación se hace en la página, el contenido llegó con la página, y casi siempre la contraseña también. El código fuente muestra las dos cosas, y guardar la página también.

Las variantes más comunes, y lo que cada una deja abierto:

  • Ocultar el contenido hasta que la contraseña sea correcta. Está en el HTML de todas formas.
  • Comprobar un hash de la contraseña, no la contraseña. La contraseña queda oculta. El contenido, no.
  • Enviar a la gente a una página secreta cuando la contraseña coincide. La página secreta es una página pública con una dirección poco común. Cualquiera que tenga la dirección, por un correo reenviado o por el historial de un navegador, la abre sin la contraseña.
  • Cifrar el contenido, para que la página lo descifre con la contraseña. Esta sí protege el contenido, si la contraseña es larga y aleatoria. Pero quien tenga el archivo puede probar contraseñas en su propia computadora tan rápido como ella le permita, sin nada que lo frene. Y no hay vuelta atrás: quien tiene el archivo y la contraseña se queda con ambos, y cambiar la contraseña obliga a cifrar la página y subirla otra vez.

Lo que hace una protección de verdad

La comprobación se hace en el servidor, antes de enviar la página. Sin la contraseña, el servidor envía un formulario en lugar de la página. Con ella, el servidor recuerda que ese navegador pasó, normalmente con una cookie, y envía la página a cada solicitud que la lleve. Eso significa que:

  • El contenido nunca llega a quien no tiene la contraseña.
  • Cada intento va al servidor, que puede frenar a quien intenta adivinar.
  • Una protección bien hecha guarda la contraseña como un hash lento, que no se puede leer de vuelta.
  • Cambiar la contraseña, o quitarla, se hace en un solo lugar.

Tres formas de tener una

Para un sitio web entero, en WordPress, Squarespace, Wix, Netlify, Vercel o Cloudflare, consulta cómo proteger una web con contraseña.

En un servidor que administras tú

Apache y nginx traen incorporada la autenticación HTTP Basic: un archivo de nombres de usuario y contraseñas con hash, creado con la utilidad htpasswd, y unas pocas líneas de configuración (auth_basic y auth_basic_user_file en nginx; AuthType Basic y AuthUserFile en Apache). El navegador muestra su propio cuadro de inicio de sesión. La autenticación Basic envía la contraseña en cada solicitud, así que úsala solo con HTTPS.

En un alojamiento estático que lo ofrezca

Algunos alojamientos estáticos pueden ponerle contraseña a un sitio entero, a menudo en un plan de pago. Netlify, por ejemplo, la ofrece en su plan Pro y no en Free ni en Personal, según la documentación de Netlify, leída el 13 de octubre de 2026. Revisa el plan antes de contar con ello.

En Solta

Elige Con contraseña en quién puede abrir el sitio, en todos los planes: 1 sitio a la vez en Free y 5 en Plus, y todos los sitios en los planes Pro y Team. Solta comprueba la contraseña en su propio servidor antes de enviar cualquier parte del sitio, la guarda con hash, así que no puede mostrártela de vuelta, y limita lo rápido que alguien puede intentar adivinarla.

Si la contraseña compartida es el punto débil, elige Por invitación, en los planes Pro y Team. Solo entran las direcciones de correo que indiques, cada una confirmada una vez por correo, sin cuenta y sin contraseña que pasar de mano en mano. Un sitio detrás de cualquiera de las dos no se puede insertar en otra web, porque un marco que se saltara la protección no protegería nada.

No listado les pide a los buscadores que no indexen un sitio, pero no es una contraseña: cualquiera que tenga el enlace lo abre. Quién puede abrir un sitio.

Elijas lo que elijas

  • Envía la contraseña aparte del enlace, por otro canal, o habrás enviado una sola cosa.
  • Haz que sea larga, y no reutilices una de otro lugar.
  • Sirve la página por HTTPS, para que la contraseña no cruce la red sin cifrar.

Preguntas

¿Puedo proteger una página HTML con contraseña usando JavaScript?

No de verdad. Si la comprobación se hace en la página, el contenido llegó con ella, y casi siempre la contraseña también: el código fuente muestra las dos cosas, y guardar la página también. La comprobación tiene que hacerse en el servidor, antes de enviar la página.

¿Sirve cifrar el contenido de la página?

Protege el contenido, si la contraseña es larga y aleatoria. Pero quien tenga el archivo puede probar contraseñas en su propia computadora tan rápido como ella le permita, sin nada que lo frene. Y no hay vuelta atrás: quien tiene el archivo y la contraseña se queda con ambos, y cambiar la contraseña obliga a cifrar la página y subirla otra vez.

¿Cómo funciona una contraseña de verdad en un sitio?

El servidor comprueba la contraseña antes de enviar la página. Sin ella, envía un formulario en su lugar. Con ella, recuerda que ese navegador pasó, normalmente con una cookie. El contenido nunca llega a quien no tiene la contraseña, y cada intento pasa por el servidor, que puede frenar a quien intenta adivinarla.

¿Netlify pone contraseña a un sitio en su plan gratis?

No. Según la documentación de Netlify, leída el 13 de octubre de 2026, la protección con contraseña está en su plan Pro, y no en Free ni en Personal.

¿Cómo le pongo contraseña a una página en Solta?

Elige Con contraseña en quién puede abrir el sitio, en todos los planes: 1 sitio a la vez en Free y 5 en Plus, y todos los sitios en los planes Pro y Team. Solta comprueba la contraseña en su propio servidor antes de enviar cualquier parte del sitio, la guarda con hash y limita la rapidez de los intentos. Para no depender de una contraseña compartida, elige Por invitación, en los planes Pro y Team.

Publica directamente desde tu chat de IA

Conecta Solta con Claude o ChatGPT y pídelo: el sitio queda en línea con un enlace, sin copiar código.