Een website of losse pagina met een wachtwoord beveiligen
Een website met een wachtwoord beveiligen
Een website of webpagina met een wachtwoord beveiligen (echte opties) | We.Inc
Beveilig een pagina of hele site met een wachtwoord op een manier die echt werkt: Basic auth op de server, het paginawachtwoord van uw host of websitebouwer, of ledenaccounts, en waarom afscherming met alleen een script faalt.
Een echte wachtwoordcontrole gebeurt op de server, voordat de pagina wordt verstuurd. Gebruik de instelling voor een paginawachtwoord van uw host of websitebouwer, HTTP Basic-authenticatie in Apache of Nginx, of echte ledenaccounts. Een wachtwoordvak in JavaScript verbergt de pagina alleen in de browser; de inhoud komt toch binnen en iedereen kan de broncode lezen.
Manieren om een wachtwoord op een site te zetten
Optie
Beschermt de inhoud?
Het best voor
Paginawachtwoord in websitebouwer of CMS
Ja, gecontroleerd door het platform
Eén privépagina voor een klant of evenement
HTTP Basic auth (Apache, Nginx)
Ja, via HTTPS
Een stagingsite of een hele map
Ledenaccounts
Ja, per persoon
Betaalde of langlopende privéomgevingen
JavaScript-prompt of verborgen div
Nee
Niets wat ertoe doet
Typ een gebruikersnaam en wachtwoord om de exacte Authorization-header te zien die een browser bij Basic-authenticatie verstuurt, en hoe makkelijk die weer in gewone tekst verandert. Zo ziet u waarom Basic auth alleen via HTTPS mag draaien. De codering gebeurt op uw apparaat; er wordt niets verstuurd.
Bepaal of één gedeeld wachtwoord genoeg is of dat elke persoon een eigen login nodig heeft.
Zoek in een websitebouwer of WordPress eerst naar een instelling voor zichtbaarheid of een wachtwoord per pagina.
Voeg op uw eigen server Basic-authenticatie toe aan de map of locatie, en bewaar het wachtwoordbestand buiten de openbare webmap.
Controleer of de site HTTPS afdwingt en test daarna in een privévenster.
Geef Basic auth een lang wachtwoord dat u nergens anders gebruikt, en wijzig het als het project of de preview afloopt.
In WordPress kunnen redacteuren en beheerders met een wachtwoord beveiligde berichten zonder wachtwoord zien in het bewerkscherm.
Een beveiligde pagina kan nog steeds de titel tonen. Zet geen privégegevens in de paginatitel.
Vraag zoekmachines ook met een noindex-tag om een privépagina niet te tonen, maar vertrouw daar nooit op als beveiliging.
Veelgestelde vragen
Kan ik een pagina beveiligen met alleen HTML?
Nee. HTML kan geen wachtwoord controleren. Alles wat u in het bestand zet, wordt door elke bezoeker gedownload, dus de controle moet op de server of het platform gebeuren.
Is HTTP Basic-authenticatie veilig?
Alleen via HTTPS. RFC 7617 wijst erop dat het wachtwoord in leesbare tekst over het netwerk gaat, omdat Base64 een codering is en geen versleuteling, en zegt dat het schema geen gevoelige informatie mag beschermen zonder iets als HTTPS.
Hoe beveilig ik een pagina met een wachtwoord in WordPress?
Open de pagina of het bericht, zet Zichtbaarheid op Beveiligd met wachtwoord, vul een wachtwoord in en werk bij. Bezoekers zien de titel en een wachtwoordvraag in plaats van de inhoud.
Kan ik een hele WordPress-site beveiligen?
De eigen documentatie van WordPress zegt dat het verbergen van de hele site geen onderdeel van de kern is, en verwijst naar plug-ins of serverregels zoals .htaccess.
Wat toont de browser bij Basic auth?
De server antwoordt met 401 en een WWW-Authenticate-header. De browser vraagt dan om een gebruikersnaam en wachtwoord en herhaalt het verzoek met een Authorization-header.
Waarom afscherming met alleen een script faalt
Een veelgebruikte tutorial voegt een prompt() toe en vergelijkt het antwoord met een wachtwoord dat in hetzelfde script staat. De browser heeft de volledige pagina dan al gedownload, en het wachtwoord staat in de broncode voor iedereen die de paginabron bekijkt. JavaScript uitzetten slaat de controle helemaal over.
Hetzelfde geldt voor inhoud die met CSS is verborgen. Staan de woorden in de HTML, dan zijn ze openbaar.
Kiezen tussen de echte opties
Voor één pagina die u met een klant deelt, is het paginawachtwoord in uw websitebouwer of CMS de snelste veilige keuze. Voor een stagingkopie van een site houdt Basic auth op de server het geheel privé, ook voor crawlers van zoekmachines.
Hebben verschillende mensen verschillende toegang nodig, of moet u later één persoon kunnen verwijderen, gebruik dan accounts. Een gedeeld wachtwoord kunt u niet van één persoon terugnemen zonder het voor iedereen te wijzigen.
Serverinstellingen die een map echt beschermen
Maak het wachtwoordbestand met de htpasswd-tool die met Apache wordt meegeleverd (bijvoorbeeld htpasswd -c /etc/apache2/.htpasswd client), en bewaar het buiten de openbare webmap.
Apache: .htaccess in de map die u wilt beschermen
Require valid-user laat iedereen toe die in het wachtwoordbestand staat.
Nginx: één locatie beschermen
Nginx leest hetzelfde htpasswd-bestandsformaat. Herlaad Nginx na het bewerken.
Wat u niet moet doen: een JavaScript-afscherming
Getoond zodat u het herkent. Het wachtwoord en de inhoud staan allebei in het bestand dat elke bezoeker downloadt.
Wat Basic auth verstuurt
Gebruikersnaam
Wachtwoord
De gebruikersnaam mag geen dubbele punt bevatten, omdat de dubbele punt hem van het wachtwoord scheidt.
Header die de browser bij elk verzoek meestuurt
Gedecodeerd door iedereen die het verzoek ziet
Base64 is geen versleuteling. Zonder HTTPS geeft deze header het wachtwoord prijs.