【问题标题】:I am trying to make a nocatsplash page- it uses HTML code to check a password and redirect visitors if a correct password is entered我正在尝试制作一个 nocatsplash 页面 - 它使用 HTML 代码检查密码并在输入正确密码时重定向访问者
【发布时间】:2016-02-12 03:59:24
【问题描述】:

我目前有一个工作代码,只允许用户单击按钮接受条款后通过。我想集成一个密码字段并接受按钮,只有在密码正确的情况下才允许某人通过。

这是我当前使用简单按钮的工作代码:

Agree to Connect:
<br>
<br>
<form method="post" id="login" action="http://10.0.0.1:5280/">
<input type="hidden" name="accept_terms" value="yes">
<input type="hidden" name="redirect" value="http://www.anderson1216.com/wifi-success.html">
<input type="hidden" name="mode_login">
<input type="submit" value="Accept Terms of Use and Connect">
</form>
<br>
//agreement text here
<br>
<br>
We thank you for your understanding and cooperation.
<br>
<br>
<form method="post" id="login" action="http://10.0.0.1:5280/">
<input type="hidden" name="accept_terms" value="yes">
<input type="hidden" name="redirect" value="http://www.anderson1216.com/wifi-success.html">
<input type="hidden" name="mode_login">
<input type="submit" value="Accept Terms of Use and Connect">
</form>

这是我找到的一个简单的密码表单:

<head>
<script type="text/javascript">
function isValid(){
var password = document.getElementById('password').value;
if (password == "password123")
{alert('Correct!')
else
{alert('Wrong Password')}
}
</script>
</head>

<form name="PasswordField" action="">
Password:
<input type="password" id="password" name="password">
<input type="button" value="Log in" onclick="isValid();">
</form>

为了使代码正常工作,第一块代码中的第一条语句需要包含在某处以告诉路由器该人接受,然后我希望它在他们单击按钮后重定向到另一个网站。正确的密码不需要警报,只需要不正确的密码即可。有什么建议吗?

【问题讨论】:

    标签: javascript html password-protection dd-wrt


    【解决方案1】:

    我强烈建议不要在 js 中列出密码!任何查看源代码的人都可以看到这一点。您需要实现一个更安全的密码系统,将哈希和加盐密码保存在安全数据库中,并通过 AJAX 调用或 PHP 进行检查。

    【讨论】:

      【解决方案2】:

      您似乎想将其放在家用路由器上,可能作为登录页面?如果您能详细说明一下,我可能会提供更多帮助。

      如果您试图阻止某人访问该网站,除非他们知道 secret 密码,那么这不是解决问题的方法。您可能希望在服务器端而不是客户端对用户进行身份验证,因为任何对 JavaScript 了解有限的人都​​可以使用开发人员控制台在客户端欺骗身份验证。

      但是,如果您只是想通过输入任意已知密码来确定某人是否同意协议条款,那么这种方法很好。

      【讨论】:

      • 是的,我确实只是为路由器制作了一个启动页面,并且想要这个密码,这样不只是任何人都可以访问互联网。如果假设普通用户不知道如何/尝试获取密码或绕过页面,则此方法可以,那么除非我应该做任何其他事情,否则这将正常工作。我通过简单地在我的网站页面上放置一个 html 模块来实现这一点,然后路由器将该页面缓存在本地以显示给访客。
      • 这应该可以工作。还有更安全的方法可以使用 CGI 脚本来跟踪已批准的 MAC 地址,这样用户就不会经常收到此提示。
      【解决方案3】:

      为了安全起见,我同意上面的 gavrig 对它们进行哈希和加盐。

      但是,如果我的问题是正确的,这是我整理的一个小提琴来解决它。我故意混合了 jquery 和 javascript。

      Agree to Connect:
      <br>
      <br>
      //agreement text here
      <br>
      <br>
      We thank you for your understanding and cooperation.
      <br>
      <br>
      <form method="post" id="login" action="http://10.0.0.1:5280/">
      <input type="password" id="password" name="password">
      <input type="hidden" name="accept_terms" value="yes">
      <input type="hidden" name="redirect" value="http://www.anderson1216.com/wifi-success.html">
      <input type="hidden" name="mode_login">
      <input type="submit" value="Accept Terms of Use and Connect">
      </form>
      
      $('form').on('submit', function(e){
          e.preventDefault();
        var password = document.getElementById('password').value;
              if (password == "password123")
              {
                  this.submit();
              } 
          else
              {
                  alert('Wrong Password');
              }
      
      });
      

      https://jsfiddle.net/tL7qcc5n/2/

      【讨论】:

      • 我可以通过在 javascript 上方和下方添加以下行来使此代码的 javascript 部分工作:
      • EDIT- 在路由器上对其进行测试后,它会重定向并允许任何人通过在该字段中键入的任何内容进行连接,而不仅仅是设置的密码。关于如何解决它的任何想法?
      • 你包含 jquery 了吗?
      • 我认为上面的代码包含 jquery,但我不确定,因为我不精通 HTML 或 JavaScript。如果我在 jsfiddle 模块中运行该代码,它可以工作,但是我转到另一个链接,该链接在没有框架的情况下运行 jsfiddle,将其复制到具有相同结果的路由器页面。我似乎无法弄清楚为什么。 @Giri
      • 在头标签之间添加这个。
      【解决方案4】:

      NoCatSplash 不支持身份验证。任何用户都可以通过手动发布到http://10.0.0.1:5280/ 来绕过您的身份验证

      如果您认真对待身份验证,则应使用另一种方法,例如使用 Radius 服务器。这甚至可以安装在路由器本身上,因为它有足够好的硬件来支持它。

      【讨论】:

        猜你喜欢
        • 2017-07-24
        • 1970-01-01
        • 2020-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-28
        相关资源
        最近更新 更多