2016-08-22 335 views
0

Im坚持一个项目。这是严格的公司内部员工登录页面。不公开!对于那些可能会质疑此表单安全性的人。虽然,我愿意散列密码密码(SHA-1)。PINCODE登录页面

我设置我的jsfiddle代码PINCODE LOGIN

<body onLoad="emptyCode()" class="hold-transaction login-page"> 
    <!-- Page Content --> 
    <div class="login-box"> 
<div class="login-logo"> 
    <a href="login.php"><b>PINCODE LOGIN</b></a> 
    <p class="login-box-msg">Employee Sign-in</p> 
</div> 
<!-- /.login-logo --> 
<div class="login-box-body"> 
    <!--<form action="" method="post">--> 
    <div class="main_panel"> 
    <form action="" method="post"> 
     <div class="input-group"> 
     <input type="text" name="code" maxlength="4" readonly="readonly" class="form-control" placeholder="Enter PIN..."> 
     <span class="input-group-btn"> 
       <button class="btn btn-danger" type="reset" >X</button> 
      </span> 
     </div> 
     <!-- /input-group --> 

     <table id="keypad" cellpadding="5" cellspacing="3"> 
     <tbody> 
      <tr> 
      <td onclick="addCode('1');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>1</span> 
       </div> 
      </td> 
      <td onclick="addCode('2');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>2</span> 
       </div> 
      </td> 
      <td onclick="addCode('3');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>3</span> 
       </div> 
      </td> 
      </tr> 
      <tr> 
      <td onclick="addCode('4');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>4</span> 
       </div> 
      </td> 
      <td onclick="addCode('5');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>5</span> 
       </div> 
      </td> 
      <td onclick="addCode('6');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>6</span> 
       </div> 
      </td> 
      </tr> 
      <tr> 
      <td onclick="addCode('7');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>7</span> 
       </div> 
      </td> 
      <td onclick="addCode('8');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>8</span> 
       </div> 
      </td> 
      <td onclick="addCode('9');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>9</span> 
       </div> 
      </td> 
      </tr> 
      <tr> 
      <td> 
      </td> 
      <td onclick="addCode('0');"> 
       <div class="button raised clickable"> 
       <input type="checkbox" class="toggle" /> 
       <div class="anim"></div><span>0</span> 
       </div> 
      </td> 
      </tr> 
     </tbody> 
     </table> 

     <p id="message">ACCESSIGN...</p> 
    </form> 
    </div> 
    <!--</form>--> 
    </div> 
    <!-- /.login-box-body --> 
    </div> 
    <!-- /.login-box --> 
</body> 

我为实现这一目标是:

  1. 允许员工使用4位数的PIN码登录并验证 对数据库凭据
  2. BONUS:数据库中的哈希密码

不知道是否需要一个函数,如“if(isset($ _ POST ['code'])){”,作为单独的文件。

+0

我不确定函数在哪里去验证数据与数据库证书。在JavaScript?在一个单独的PHP文件? –

+1

大部分黑客都是由员工完成 – 2016-08-22 05:27:23

回答

1

首先,您在窗体末尾关闭窗体标签,这意味着您的整个页面几乎都会返回到您的服务器。你可以缩小这个:

<form action="secret.php" method="post"> 
<input name="code"> 
</form> 

现在它被发布到action标签中指定的“secret.php”。 这应该是这样的:

Secret.php: 
<?php 
if(isset($_POST["code"])){ 
if($_POST["code"]=="5473")){ 
echo "successfully logged in..."; 
$_SESSION["logged"]=true; 
}else{ 
echo " wrong code"; 
} 
}else{ 
echo "404: this is not accessible for you"; 
} 
?> 

此检查代码是否贴,如果它的5473.如果正确,就设置会话至极帮助您识别用户。 只需做:

<?php 
if(isset($_SESSION["logged"])){ 
echo " logged in user..."; 
}else{ 
echo "not for you.please log in"; 
die(); 
} 
?> 
+0

感谢您的回复。但是,我不确定在哪里添加此代码。我有一个隐藏的PHP文件,可以执行验证 –

+0

请你详细说明你的答案 –

+0

哦,我明白了。你已经在js中实现了它。我重写它,以便处理必要的php部分 –

0

我更新了我的代码。这个功能似乎很好用!

function loginEmployee() { 
global $connection; 
$pincode = $_POST["code"]; 

if(isset($_POST["code"])){ 
$result = mysqli_query($connection,"SELECT * FROM users WHERE user_pin = '$pincode'"); 
if(mysqli_num_rows($result) != 0) { 
echo "<p class='alert-successs'>successfully logged in...</p>"; 
header("Location: ../repairs.php"); 
die(); 
$_SESSION["logged"]=true; 
}else{ 
header("Location: ../login_fail.php"); 
die(); 
} 
}else{ 
echo "404: this is not accessible for you"; 
}