当我点击我网站上的某些图片时,我希望它要求输入密码并检查其是否正确。如果输入了正确的密码,请转到该站点。但我对网站制作非常陌生。我知道网页代码是开源的。只需检查元素和繁荣。所以我提出的这个密码保护代码是没用的。
var userResponse = "N/A";
function askPass() {
"use strict";
userResponse = prompt("What's the password?", "000000");
if (userResponse === "SpeculAcessPls") {
window.open("www.link.com");
}
}
如何才能使我的密码更安全?
答案 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;
你的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)
在您要保护的文件夹中创建文件.htaccess
:
AuthType Basic
AuthName "restricted area"
AuthUserFile /home/www/test/.htpasswd # replace here with the real path
require valid-user
使用以下命令创建文件.htpasswd
:
coucou:$apr1$hS5e9bcn$mDINweGTqy8TYNv4aGr3W0
现在该网站仅对密码为coucou
的用户test
可用!
您当然可以使用http://www.htaccesstools.com/htpasswd-generator/对其进行自定义。
注意:
只需创建单个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>