如何为网页添加密码保护?

时间:2015-10-25 06:24:52

标签: html passwords protection

当我点击我网站上的某些图片时,我希望它要求输入密码并检查其是否正确。如果输入了正确的密码,请转到该站点。但我对网站制作非常陌生。我知道网页代码是开源的。只需检查元素和繁荣。所以我提出的这个密码保护代码是没用的。

var userResponse = "N/A";

function askPass() {
    "use strict";
    userResponse = prompt("What's the password?", "000000");
    if (userResponse === "SpeculAcessPls") {
        window.open("www.link.com");
    }
}

如何才能使我的密码更安全?

4 个答案:

答案 0 :(得分:3)

为此你需要一个验证登录表单的php函数。



<form action="action.php" method="post">
  <p>Your password: <input type="text" name="password" /></p>
  <p><input type="submit" /></p>
</form>
&#13;
&#13;
&#13;

你的action.php看起来应该是这样的:

<?php

if (!$_POST["password"]=="login password")
{
  echo "Wrong password!";
}
?>

快速提示:如果您从未听说过.htaccess文件,则需要在index.html的目录中创建一个文件并添加代码以启用php。下面的链接将显示您需要写入文件以便为您的Web服务器启用它。

http://www.besthostratings.com/articles/php-in-html-files.html

答案 1 :(得分:1)

我认为不安全。使用方法:

<input type="password" name="password" value="password">
<input type="button" value="Send" name="send">

我对javascript知之甚少,所以我不能写你的javascript编码

答案 2 :(得分:1)

如果您希望保留客户端的所有内容,您可以使用对称密钥算法对您的网页进行一些预处理,例如AES,并将其放在公共网络上。没有服务器端密码验证。

如果您的源代码是否可供所有人阅读并不重要,您仍需要密码才能阅读内容。

伪代码(使用jQuery标记):

<input type="password" id="password">
<button class="decrypt">Decrypt</button>
<script>
    var myEncryptedPage = '<html-string-encrypted-with-your-password>';
    $('.decrypt').click(function(){
        var password = $('#password').val();
        // 'decrypt' tries to decrypt your string with the user provided password
        window.write(decrypt(myEncryptedPage, password));
    });
</script>

如果您想查看可能的实现,我可以使用crypto-js库编写一个简单的PoC来显示该想法(StatiCrypt),您可以在其中进行预处理并使用密码加密您的页面提示。

答案 3 :(得分:0)

使用Apache的解决方案#1:

  1. 在您要保护的文件夹中创建文件.htaccess

    AuthType Basic
    AuthName "restricted area"
    AuthUserFile /home/www/test/.htpasswd    # replace here with the real path
    require valid-user
    
  2. 使用以下命令创建文件.htpasswd

    coucou:$apr1$hS5e9bcn$mDINweGTqy8TYNv4aGr3W0
    
  3. 现在该网站仅对密码为coucou的用户test可用!

您当然可以使用http://www.htaccesstools.com/htpasswd-generator/对其进行自定义。

注意:

使用PHP的解决方案#2:

只需创建单个index.php文件:

<?php
if ($_POST["pwd"] == "thepassword")
{
    echo "You entered the protected page successfully";
    die();
}
?>

<form action="" method="post">
<p><input type="password" name="pwd" autofocus></p>
<p><input type="submit" /></p>
</form>