PHP明文密码 - 有什么风险?

时间:2014-04-11 19:51:56

标签: php security

我现在正在学习PHP(只是为了好玩)。

我认为在源代码中使用明文密码存在很大的危险。但究竟是什么风险?

例如,

<?php
    if ($pass == "4f5s5gdx#") {
        /* do secure code */
    } else {
        /* error */
    }
?>

假设$pass来自文本字段。

我知道htmlspecialchars(),以防止代码注入攻击。但是明文密码检查有哪些其他安全问题?我知道你应该使用哈希和盐作为实际密码(我绝不会将其用于严格的安全性)。

3 个答案:

答案 0 :(得分:2)

如果您不小心输入了<>来阻止PHP解析您的PHP代码,或者您的PHP因任何原因而停止被解析,那么您将提供一个纯文本/ HTML文件您的用户在银盘上使用纯文本密码。

答案 1 :(得分:2)

这个答案应该告诉你如何以纯文本形式访问php文件(不是由php解析器处理)

https://stackoverflow.com/a/2995394/3501422

如果某人利用您服务器上的漏洞并抓住该页面,则他们会拥有所有密码。

它拥有良好的安全性来对密码进行散列或加密,并结合其他安全方法来构建一个出色的系统。安全性完全取决于层,您需要尽可能多地添加,密码散列就是其中之一。

答案 2 :(得分:0)

所有的PHP代码都应该由服务器远程处理,因此用户只能看到服务器显示的内容......但是,如果您有类似

的内容
<?php
    // Code here
?>
    $password = 'iloveSO';

<?php

   $password = 'iloveSO';

   echo $password;

?>

然后您的密码可供浏览器查看。

确保您不会犯错误的简单方法是将您的密码与php文件分开。

password.php

<?php
     // Password PHP File //

$mail_password = 'adsfasdf';
$mail_username = 'adsfasdf';

$mysql_password = 'asdfadsf';
$mysql_username = 'root';

?>

的index.php

<?php

     require_once 'password.php';

?>

更好的是,如果你的密码.php文件在你的htdoc文件夹之外,那么用户永远无法访问它。

  - password.php
  - htdocs/
      - index.php
      - images/
          - image1.jpg

在上面的文件夹示例中,您将在索引文件中执行以下操作。

require_once '../password.php';