使用密码隐藏DIV元素

时间:2013-07-11 19:45:20

标签: jquery show-hide password-prompt

我有一个DIV元素分为2个表,左右。左表很好,但是在用户输入密码或短语之前需要隐藏右表,这将打开/解锁该表。

这不是安全问题,而是技术问题。我被要求不要直接访问该部分,但添加某种通用密码(无需注册)。

我知道客户端JS的安全性很弱,但在这种情况下安全性不是问题。什么是我最好/最有效的选择?我尝试过一个灯箱解决方案,但是一旦输入正确的短语,我就无法弄清楚如何显示DIV。

1 个答案:

答案 0 :(得分:3)

这就是我所做的:

http://jsfiddle.net/rp40rkpo/3/

#HIDDENDIV {
    display: none;
}

#table td {
    padding: 1em;
    border: 1px solid black;
}


#table.show tr > *:nth-child(2) {
    display: block;
}
<div id="passw">
            <div>
                (THE PASSWORD IS PASSWORD) <br />
                Enter the password to proceed:
            </div>
            <div>
            
                <input type="password" id="password" onkeydown="if (event.keyCode == 13) document.getElementById('button').click()" /> <!-- IMPORTANT! this part is so if you click enter, it works. -->
                </div>
            

            <div>
                <br/>
                <input id="button" type="button" value="Login" onclick="if (document.getElementById('password').value == 'PASSWORD') { 
document.getElementById('table').classList.toggle('show');   document.getElementById('passw').style.display='none'; } 
else {  alert('Invalid Password!'); password.setSelectionRange(0, password.value.length);   } " />
            </div>
<!-- it will autoselect wrong input if wrong -->
    <br /><br /><br />
        </div>

<table id="table">
    <tr> 
        <td>stuff</td>
        <td id="HIDDENDIV" >hidden stuff</td>
    </tr>
</table>

警告:这不是很安全。任何知道如何操作Web检查员的人都可以查看隐藏的div

如果您输入了错误的密码,我就会这样做,它会提示“密码无效”并选择您的密码,这样您就可以在不选择密码的情况下再试一次。

此外,密码框会在你正确的时候隐藏。

希望它有所帮助!