相关疑难解决方法(0)

警告:PDO :: exec()期望参数1为字符串

我正在开发需要登录页面的网络应用程序,一切正常,直到我尝试转换为PDO并使用准备好的查询在这里是我的代码:

$req=$idconnex->prepare("SELECT * FROM `enseignant` WHERE ens_cin=:cin AND ens_pass=:pass");
$req->bindParam(':cin',$_GET["login"]);
$req->bindParam(':pass',$_GET["password"]);
$res=$idconnex->exec($req);
if(!empty($res) AND $res->rowCount==1)          
    {echo 'SUCCESS';}
else
    {echo 'FAIL';}
Run Code Online (Sandbox Code Playgroud)

出现警告:

警告:PDO :: exec()期望参数1为字符串,对象在...中给出

并且即使我插入正确的参数,它也会返回FAIL!

php mysql pdo

0
推荐指数
1
解决办法
1583
查看次数

使用SHA512存储登录密码而不是MD5

我一直在线阅读MD5不是很安全,我已经决定将我的网站切换到使用SHA512,我之前从未这样做过,所以我只是要求你检查一下我是否做得对,或者是否有另一种更安全的哈希方法可用于存储密码?

$ upass是我需要哈希的用户密码.

这是我与MD5的原始PHP:

 $uname = mysql_real_escape_string($_POST['uname']);
 $sname = mysql_real_escape_string($_POST['sname']);
 $email = mysql_real_escape_string($_POST['email']);
 $upass = md5(mysql_real_escape_string($_POST['pass']));
Run Code Online (Sandbox Code Playgroud)

这是我使用SHA的新PHP:

 $uname = mysql_real_escape_string($_POST['uname']);
 $sname = mysql_real_escape_string($_POST['sname']);
 $email = mysql_real_escape_string($_POST['email']);
 $upass = mysql_real_escape_string($_POST['pass']);

 $upass = hash('SHA512', $upass);
Run Code Online (Sandbox Code Playgroud)

这里也是单词"password"的散列字符串,只是为了确保哈希工作正常.

SHA512:

b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e

MD5:

5f4dcc3b5aa765d61d8327deb882cf99

感谢您提前提供任何帮助/建议.

php security password-storage

0
推荐指数
1
解决办法
762
查看次数

在MySQl数据库中使用哪种方法加密密码?

我一直在研究将我的密码加密到mySQL数据库的最佳方法,但我无法确定密码的最佳加密方式.

  • md5(据说由于各种安全原因我不知道有缺陷,但是以某种方式被WordPress使用.为什么这个功能如此受到批评?

  • sha1()只是受到md计算复杂性更强的系列启发的另一个功能.

  • password() 似乎建议使用.

  • PASSWORD()MySQl

  • 然后,hash()在PHP 5.1.2中使用的新功能.和更新的版本

MySQl PASSWORD()与上面提到的其他php函数有什么不同?

php mysql encryption wordpress

0
推荐指数
1
解决办法
6804
查看次数

PHP中的意外T变量

我是PHP的新手,我需要一点帮助.我很确定这可能是最常见的问题之一,并且很容易修复,但我一直在努力.我会这么愚蠢

好吧,所以这是我的问题:每次我去我的localhost尝试打开我的PHP站点它不会因为我每次都得到这个错误.

"解析错误:语法错误,第4行的C:\ xampp\htdocs\exam\_register.php中的意外'$ db'(T_VARIABLE)"

这是我的PHP代码.

    <?php
    session_start()

    $db = mysqli_connect("localhost", "root", "", "authentication");

    if (isset($_POST['register_btn'])) {
        session_start();
        $username = mysql_real_escape_string($_POST['username']);
        $emailaddress = mysql_real_escape_string($_POST['emailaddress']);
        $password = mysql_real_escape_string($_POST['password']);
        $password2 = mysql_real_escape_string($_POST['password2']);

        if ($password == $password2) {
            $password = md5($password);
            $sql = "INSERT INTO users(username, email, password) VALUES ('$username', '$emailaddress', '$password')";
            mysql_query($db, $sql);
            $_SESSION['message'] = "You are now registered!";
            $_SESSION['username'] = $username;
            header("location: home.php");
        }else {
            $_SESSION['message'] = "The two passwords do not match";
        }   
    }
?>
Run Code Online (Sandbox Code Playgroud)

php xampp

0
推荐指数
1
解决办法
202
查看次数

salt + sha512 + md5加密

我有以下代码:(只是用于加密/散列的测试文件)

<!doctype html>
<html>
<head></head>
<body>

  <?php

    error_reporting('off');

    if (isset($_POST['submit'])) {
        $salt = "2bZ@<^$";
        $hash = hash("sha512", $_POST['hash']);
        $hash = $salt . $hash;
        $hash  = md5($hash);
        echo $hash;
        $hashLen = strlen($hash);
        echo "<br>The length of the hashed word is " . $hashLen . " characters long!";
    }

    ?>

    <form action="hashed.php" method="post">
      <input type="text" name="hash">
      <input type="submit" value="Hash" name="submit">
    </form>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这有多安全?我知道这很可能是被黑客入侵,但需要多长时间?我目前正在制作一个php/mysqli注册表,并希望尽可能安全地使用户的密码,这样黑客就需要很长时间才能破解用户的密码.为了加密它,我可以使用它,例如:

用sha512,md5(md5),加入不同的盐,两个sha512,另一个md5和另一种不同的盐来混合它!

听起来有多安全?黑客破解密码需要多长时间?请您使用非常非常安全的加密方法告诉我.此外,我想让用户使用cookie登录:需要一种安全的方式将他们的信息存储在cookie中!

提前致谢 :)

php security passwords hash password-protection

-1
推荐指数
1
解决办法
954
查看次数

如何在通过GET发送信息之前加密Md5文本输入?

我有一个小的登录表单,我将通过GET发送名称和密码,但我不想将密码放在纯文本的URL中.按下提交按钮之后,但是在通过GET发送之前,我可以Md5吗?

php forms md5 get

-1
推荐指数
1
解决办法
1万
查看次数

使用PHP检查用户名是否已存在

我想检查我的数据库中是否已存在用户名.如果是,我想重定向回我的注册页面.我的代码用于添加用户名,但不检查用户名是否存在.请帮忙!!!这是register.php页面的代码.代码完全跳过检查"用户名"并插入数据库(如果存在或不存在).

    <?php  
         error_reporting (E_ALL ^ E_NOTICE);    
         include ('dbconn.php');
         session_start();

         $GLOBALS[$error_message];
         $GLOBALS[$username];

         if(isset($_POST['submit']))
           {     
               $error = array();        
               if(empty($_POST['username']))
                 {
                   $error[] = 'Please enter a username. ';
                 }
               else 
                 {
                   $username = mysqli_real_escape_string($connection, $_POST['username']);
                 }

               if(empty($_POST['password']))
                 {
                   $error[] = 'Please enter a password. ';
                 }
               else
                 {
                   $password = mysqli_real_escape_string($connection,$_POST['password']);   
                 }

               if(empty($_POST['cpassword']))
                 {
                   $error[] = 'Please confirm password. ';
                 }
               else
                 {
                   $cpassword = mysqli_real_escape_string($connection,$_POST['cpassword']);
                 }

               if($password == $cpassword)
                 {
                   $mainpassword= $password;
                 }
               else
                 {
                   $error[] = 'Your passwords do not match. …
Run Code Online (Sandbox Code Playgroud)

php mysql username

-1
推荐指数
1
解决办法
5592
查看次数

这个PHP代码是否容易受到SQL注入攻击?

我有一个网站,我在服务器端使用PHP,mysql作为数据库.我使用以下脚本从数据库中检索数据.有人能让我知道这段代码是否容易受到注入攻击?如果是这样,请你解决一下吗?

<?php
// PHP script 

$usrname=$_POST['usrname'];
$_SESSION['usremail']=$usrname;
$usrpassword=$_POST['passwd']; 
$db=mysql_select_db('mydb',$connection);
$result=mysql_query("select usrfname,usrlname from userinformation where usremail='$usrname' and usrpassword='$usrpassword'") or die('failed to login');
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.

谢谢

php mysql

-2
推荐指数
1
解决办法
1211
查看次数

MySQLi准备好的声明抱怨"只应通过引用传递变量"

在此输入图像描述

码:

$stmt->bind_param("s", md5($input['user'] . $config['salt']));
Run Code Online (Sandbox Code Playgroud)

PHP错误消息:

只应通过引用传递变量

我一直在研究这个项目,但现在我被困住了.我是PHP的新手.该怎么办?

php mysqli

-2
推荐指数
2
解决办法
4315
查看次数

php MD5中的密码哈希

有谁能告诉我这有什么不对吗?

function hashmyshit($pass){

        for ( $i = 0; $i < 1000; $i++ ){
            MD5($pass);
        }
        return $pass;
}
Run Code Online (Sandbox Code Playgroud)

以及如何多次迭代密码散列过程.

php encryption hash md5

-2
推荐指数
1
解决办法
567
查看次数

每次提交表单后刷新页面,用户都会注册

我正在使用PHP进行注册过程.我设法获取提交的表单数据并将其保存到mysql表中,但问题是,如果我刷新页面,用户会再次注册.这是我的PHP代码,我已将其包含在带有其他内容的div标记中:

<?php
    if(isset($_POST["registration"])){
            $con = mysqli_connect("localhost", "user", "pass", "name") or die("connection error");
      if (mysqli_connect_errno()){
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }

      $name = $_POST["name"];
      $lname = $_POST["lname"];
      $email = $_POST["email"];
      $pass = $_POST["pass"];
      $company = $_POST["company"];
      $webpage = $_POST["webpage"];
      $phone = $_POST["phone"];
      $country = $_POST["country"];
      $city = $_POST["city"];
      date_default_timezone_set('Asia/Tbilisi');
      $info = getdate();
      $date = $info['mday'];
      $month = $info['mon'];
      $year = $info['year'];
      $hour = $info['hours'];
      $min = $info['minutes'];
      $sec = $info['seconds'];
      $reg_date = $year . "-" . $month …
Run Code Online (Sandbox Code Playgroud)

php registration

-2
推荐指数
1
解决办法
58
查看次数

PHP中的密码加密

在Php中加密密码的最佳方法是什么?Codeigniter的文档说密码应该使用php的密码哈希扩展进行哈希处理.到目前为止,我一直在使用codeigniter的加密密钥加密密码.有什么建议.

php hash codeigniter

-3
推荐指数
1
解决办法
290
查看次数