相关疑难解决方法(0)

如何在PHP中使用bcrypt进行散列密码?

我不时听到"使用bcrypt在PHP中存储密码,bcrypt规则"的建议.

但是什么bcrypt呢?PHP没有提供任何此类功能,维基百科关于文件加密实用程序的唠叨和Web搜索只是揭示了不同语言的Blowfish的一些实现.现在Blowfish也可以通过PHP获得mcrypt,但是如何帮助存储密码?Blowfish是一种通用密码,它有两种工作方式.如果它可以加密,则可以解密.密码需要单向散列函数.

解释是什么?

php passwords cryptography password-protection bcrypt

1230
推荐指数
9
解决办法
38万
查看次数

围绕mysql_real_escape_string()的SQL注入

即使使用mysql_real_escape_string()函数,是否存在SQL注入的可能性?

考虑这个示例情况.SQL是用PHP构造的,如下所示:

$login = mysql_real_escape_string(GetFromPost('login'));
$password = mysql_real_escape_string(GetFromPost('password'));

$sql = "SELECT * FROM table WHERE login='$login' AND password='$password'";
Run Code Online (Sandbox Code Playgroud)

我听过很多人对我说,这样的代码仍然很危险,即使使用了mysql_real_escape_string()函数也可以破解.但我想不出任何可能的漏洞?

像这样的经典注射:

aaa' OR 1=1 --
Run Code Online (Sandbox Code Playgroud)

不工作.

你知道任何可能通过上面的PHP代码注入的注入吗?

php mysql sql security sql-injection

596
推荐指数
4
解决办法
22万
查看次数

如何使用password_hash

最近我一直试图在我在互联网上偶然发现的登录脚本中实现我自己的安全性.在努力学习如何制作我自己的脚本为每个用户生成一个盐之后,我偶然发现了password_hash.

根据我的理解(基于本页的阅读:http://php.net/manual/en/faq.passwords.php),当您使用password_hash时,已经在行中生成了salt.这是真的?

我的另一个问题是,含有2种盐是不是很聪明?一个直接在文件中,一个在DB中?这样,如果有人在数据库中泄露了你的盐,你仍然直接在文件中?我在这里读到,存储盐绝不是一个明智的想法,但它总是让我困惑的是人们的意思.

php salt password-hash php-password-hash

73
推荐指数
5
解决办法
11万
查看次数

将查询错误转换为MySQLi中的异常

我试图将MySQLi查询错误转换为异常,但不能 - 只有在连接数据库失败时才会抛出mysqli_sql_exception.

我使用mysqli_report(MYSQLI_REPORT_STRICT)和程序化的MySQLi函数嵌入到自定义包装类中.

前代码:

public function mysqlQuery($SQL) {

    $this->Result = mysqli_query($this->DBlink, $SQL);

    if($this->Result === false)
        throw new MySQLiQueryException($SQL, mysqli_error($this->DBlink), mysqli_errno($this->DBlink));

    return $this->Result;

}
Run Code Online (Sandbox Code Playgroud)

问题:是否正常没有警告,查询失败时也不会抛出异常,所以我必须检查mysqli_query()是否返回false?

php mysqli

21
推荐指数
2
解决办法
2万
查看次数

MySQL检查用户名和密码是否与数据库匹配

我有一个表单,其中包含名称属性username的文本框和另一个名称为attribute password的表单.我还有一个名为userpass的数据库.当我的用户注册时,它将用户列的用户名和密码添加到传递列.

我如何制作一个MySQL查询来检查表单是否提交了正确的用户名和密码,然后如果它确实有一个分支让我输入代码,如果它成功了?

我真的需要一些代码,这一点并不顺利我知道它应该是类似的东西SELECT * FROM table WHERE username == $username AND...然后我被卡住了因为我在数据库中有一个MD5密码,并且第一位可能是错误的.请帮忙.:)

谢谢

php mysql authentication hash-function password-storage

3
推荐指数
3
解决办法
11万
查看次数