kaspersky不允许密码存储在db中

时间:2014-11-18 06:56:23

标签: php html css ajax

我正在使用kespersy防病毒软件。我希望将详细信息存储在数据库中。但是测试时不会打印密码和确认密码值。  除密码和确认密码外,所有字段值都被回显。$ pass是密码变量,$ c_pass是确认密码变量。

<form name="profile" method="post">

         <p style="margin-left:1cm">Name<a style="margin-left:45px"></a>&nbsp: <input type="text" name="p_name" size=18 maxlength=50></p>
         <p style="margin-left:1cm">Email<a style="margin-left:45px"></a>&nbsp: <input type="text" name="email" size=18 maxlength=50></p>
         <p style="margin-left:1cm">Password<a style="margin-left:25px"></a>&nbsp: <input type="password" name="pass" size=18 maxlength=50></p>
         <p style="margin-left:1cm">Confirm<a style="margin-left:30px"></a>&nbsp: <input type="password" name="c_pass" size=18 maxlength=50></p>
         <p style="margin-left:1cm">Phone<a style="margin-left:45px"></a>&nbsp: <input type="text" name="phone" size=18 maxlength=50></p>
         <p style="margin-left:1cm">Address<a style="margin-left:30px"></a> : <textarea name="address" max=200></textarea></p>
         <p style="margin-left:1cm">EIN<a style="margin-left:50px"></a>  &nbsp :  <textarea name="ein" max=200></textarea></p>
         <center><input type="submit" name="edit" value="Edit" /> </center>
        </form>
 <?php
 include "config.php";
 if(isset($_REQUEST['edit']))
 {
  echo "hai";
  echo $pass=$_REQUEST['Pass'];
   echo $c_pass=$REQUEST['c_pass'];
   echo $address=$_REQUEST['address'];
   echo $p_name=$_REQUEST['p_name'];
   echo $phone=$_REQUEST['phone'];
   echo $email=$_REQUEST['email'];
   echo $ein=$_REQUEST['ein'];
    echo $datz=date('m-d-yy h:i:s');
    if($pass==$c_pass)
    {
    echo $c_pass;
    echo $pass;
      if($p_name!='' && $address!='' && $p_name!='' && $phone!='' && $email!='' && $ein!='' && $pass!='')
 {
  echo $sql="insert into register(name,address,contact_name,phone,email,password,ein,c_date) values ('$name','$address','$p_name','$phone','$email','$pass','$ein','$datz')";
   if(mysql_query($sql))
    {
      echo ("<SCRIPT LANGUAGE='JavaScript'>
       window.alert('registered successfully');

       </SCRIPT>");
    }
  else
  {
        echo ("<SCRIPT LANGUAGE='JavaScript'>
       window.alert('try again');

       </SCRIPT>");   
      } 
 }
}
 }

 ?>

1 个答案:

答案 0 :(得分:2)

首先,为什么要使用$ _REQUEST变量?

如果你改用$ _POST会更安全。

您可以使用HTML表单更新您的问题,以便我们看到您在那里做了什么吗?

另一个建议是使用mysqli函数甚至是prepared statements

使用预处理语句可以更好地防止像Jack提到的SQL注入。

如果您不使用预准备语句,在将数据保存到数据库之前将其转义为非常重要:

$name = mysqli_real_escape_string($dblink, $name);

您不应该以明文保存密码,至少使用MD5。

$pass = md5($pass);

更好地使用BlackPearl提到的SHA1:

$pass = sha1($pass);

更新:

我在HTML中看到了拼写错误:

<input type="password" name="pass" size=18 maxlength=50></p>

但是在你的PHP代码中你使用:

$_REQUEST['Pass']

这是错误的。

你必须使用与区分大小写相同的名称。