相关疑难解决方法(0)

PHP中的简单密码保护

我正在阅读我的"学习PHP"一书中一个非常有趣的章节,并且遇到了我想在我的个人网站上修改和使用的代码示例(为了保护一个简单的文档,没有什么"大",这就是为什么我也不加密密码).

我已经使用了php-sample,但我根本无法使用它.
在这里(不要被长度吓到,它真的很简单):

<?php

if ($_POST['_submit_check']) {
    if ($form_errors = validate_form()) {
        show_form($form_errors);
    } else {
        process_form();
    }
} else {
    show_form();
}

function show_form($errors = '') {
    echo '<form method="POST" action="' . $_SERVER['PHP_SELF'] . '">';

    if ($errors) {
        echo '<br>'
        echo implode('<br>', $errors);
        echo '<br>';
    }

    echo 'Username: ';
    echo '<input type="text" name="username" value="Username goes here">';
    echo '<br>'

    echo 'Password: ';
    echo '<input type="password" name="password">';
    echo '<br>'

    echo '<input type="submit" name="submit" value="Log In">';
    echo '<input type="hidden" name="_submit_check" value="1">'; //when …
Run Code Online (Sandbox Code Playgroud)

php passwords

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

外部MD5计算为"加密"吗?

我正在准备我的一个网站的应用版本.

该应用要求您登录才能访问您的用户帐户.此登录过程通过HTTP而非HTTPS完成,但密码是使用MD5和我的服务器上的一些其他哈希值存储的.

这是否算作应用程序中的"加密",因此要求我提交其中一个"出口合规"表单?

谢谢你的帮助.

encryption export ios

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

在mysql数据库中保护用户密码的最佳方法?

我正在尝试找到在mysql数据库中保护用户密码的最佳方法(哈希/加密方式).我哪种方法最安全,最难破解.我在加密/散列等领域的经验不多.目前我正在使用一种非常不安全的方法来进行这种加密:

$encrypted_password = strrev(base64_encode($password));
Run Code Online (Sandbox Code Playgroud)

我知道这不是最好的方式,但就像我说的,我是新的.有人能指出我正确的方向吗?

谢谢.

php mysql encryption hash

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

PHP安全信息?

假设我有一个网站

  • PHP 5.3已安装
  • 每个输出都是htmlspecialchars()ed.
  • PDO和预准备语句是与数据库交互的唯一方式
  • error_reporting() 已关闭
  • 每个请求都传递给index.php(前端控制器),除了index.php via之外,不允许直接文件访问 .htaccess
  • 每个输入都被正确转义(我为什么要使用Prepared语句,用户输入怎么会搞乱我的代码?)
  • 没有用 evil()

它被认为是安全的吗?还有哪些其他方法可以修复以提高安全性?你怎么能攻击它?哈哈呢?PHP/Server端可以提高安全性吗?

php security

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

PHP中使用$ _POST和$ _GET变量的最佳实践

考虑到一个项目将工作多个开发人员并且将不断更新和维护,考虑到可读性和安全性,下面两个代码中的哪些代码可以被认为是PHP中的最佳实践?如果我们谈论性能,第二种选择可能会好一点,但有办法解决这一点.

选项1

$user = $_POST['user'];
$pass = $_POST['pass'];

// Prevent SQL Injection and XSS
$user = anti_injection($user);
$pass = anti_injection($pass);

if(strlen($user) <= 8 && strlen($pass) <= 12)
{
    // SQL query
    $sql = "SELECT id 
            FROM users 
            WHERE username = '$user' AND password = '$pass';";
}
Run Code Online (Sandbox Code Playgroud)

选项2

// Retrieve POST variables and prevent SQL Injection and XSS
$_POST['user'] = anti_injection($_POST['user']);
$_POST['pass'] = anti_injection($_POST['pass']);

if(strlen($_POST['user']) <= 8 && strlen($_POST['pass']) <= 12)
{
    // SQL query
    $sql = "SELECT id …
Run Code Online (Sandbox Code Playgroud)

php postgresql optimization

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

用于密码存储的SHA1哈希的一个很好的替代方案是什么?

我有一个网站使用SHA1哈希密码.我最近阅读了以下文章,该文章认为不使用SHA1作为密码,因为SHA1从未设计用于保护密码:http://arstechnica.com/security/2012/08/passwords-under-assault/4/

你能否推荐一个好的哈希方法,我可以实现而不是SHA1,请提供一个教程的链接,该教程逐步介绍如何使用php实现该加密方法?

php security sha1

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

密码存储,hash()与sha-512或crypt()与河豚(bcrypt)?

这是我目前在PHP/SQL项目中的密码哈希程序...

  • 从/ dev/urandom获取512位每用户盐,除了最终哈希之外,还存储在用户的DB记录中
  • 从/ dev/urandom中取出512位"pepper",它存储在文件系统中.这是每个应用程序的常量,并且对于每个用户都是相同的
  • 然后 hash('sha512', $password.$salt.$pepper, TRUE)

散列和盐在DB中以二进制形式存储,主要是出于习惯.我认为它在安全方面没有任何区别.如果有的话,它对SQL备份来说稍微不方便,并使PHP代码看起来稍微复杂一些.

hash()与SHA-256和SHA-512通常被认为已被bcrypt这些天superceeded?
我相信SHA-2(256/512)仍然被认为是加密安全的,我可能过度使用了熵位.与攻击者从数据库转储中反向设计SHA-2哈希相比,我的代码中的缺陷更有可能导致问题.

但是,我是否应该更新我的方法以继续使用crypt()CRYPT_BLOWFISH(我相信这被称为bcrypt,而blowfish在技术上是一种密码而不是哈希算法)?
即使只是作为未来的最佳实践?

我并不特别关心算法的计算费用(在合理范围内).这只是在您创建帐户,更改密码或在您进行哈希比较时登录时的一个因素.这些活动构成了一小部分页面浏览量.我想在某种程度上越慢越好,如果它使服务器更难以生成,那么它将使攻击者的工作更慢到暴力.

干杯,B

php hash sha bcrypt password-encryption

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

如何使用php命令使注册表格高度安全?

我想让代码对用户来说非常安全.下面的代码显示了PHP代码

我已将它用于我的网站.现在我使用了一些验证,如密码和repeatPassword必须匹配,用户必须输入所有字段.

为了使其更安全,我想插入安全命令,如PDO,mysqli,加密或MD5

但我不知道如何,因为我有新的PHP.

我怎样才能做到这一点 ?

我的代码在这里:

 <?php       
      include"config.php";
  if (isset($_POST['submit']))
{
    $user_name = $_POST['name']; 
    $user_surname = $_POST['surname']; 
    $user_email = $_POST['email']; 
    $user_academic = $_POST['academic_institute']; 
    $user_username = $_POST['username']; 
    $user_pass = ($_POST['password']); 
    $user_pass2 = ($_POST['repeatPassword']); 

    if($user_name && $user_username)
        {
    if($user_pass==$user_pass2)
    {
  $query = mysql_query("INSERT INTO members (name, surname, email, academic_institute,   username, password, repeatPassword) 
   VALUES ('$user_name', '$user_surname', '$user_email', '$user_academic',     '$user_username', '$user_pass', '$user_pass2')");
   mysql_query($query); 


 echo '<script type="text/javascript">alert("You have been registered");</script>';
    }
    else
    {
        echo '<script type="text/javascript">alert("Password must match");</script>';
    }
}
else {
        echo '<script …
Run Code Online (Sandbox Code Playgroud)

php mysql database security

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

如何在phpmyadmin 4.1.6中添加密码的md5哈希?

我是phpmyadmin的新手.我想在不使用php代码的帮助下将密码的md5哈希存储在数据库表中.所以我在这里找到了解决方案.但我在phpmyadmin-4.1.6中找不到'function'的选项.我怎样才能实现目标?

php mysql hash phpmyadmin

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

哪个是PHP中最安全的密码哈希算法?

哪个是PHP中最安全的密码哈希算法?

速度是无关紧要的,因为我在一段固定的时间内迭代哈希(而不是固定的迭代次数).我感兴趣的是数学实力.

我的直觉告诉我它是漩涡,是最大和最慢的一群.那还是SHA-512.哪位专家推荐?

有没有其他算法提供超过512位的哈希?

php security encryption algorithm hash

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