我现在正在学习PHP (只是为了好玩)。
我认为在源代码中使用明文密码有很大的危险。但风险到底是什么呢?
例如,
<?php
if ($pass == "4f5s5gdx#") {
/* do secure code */
} else {
/* error */
}
?>假设$pass来自文本字段。
我了解htmlspecialchars(),以防止代码注入攻击。但是,纯文本密码检查还有哪些其他安全问题?我知道您应该在实际密码中使用散列和salt (我永远不会将其用于严格的安全性)。
发布于 2014-04-11 19:57:31
这个答案应该告诉您如何能够以纯文本的形式访问php文件(而不是由php解析器处理)。
https://stackoverflow.com/a/2995394/3501422
如果有人利用您服务器上的漏洞并获得该页面,那么他们就拥有所有密码。
就其自身而言,将密码与其他安全方法结合起来进行散列或加密是很好的安全性,这是一个很好的系统。安全性都是关于层的,您需要添加尽可能多的层,密码哈希就是其中之一。
发布于 2014-04-11 19:55:38
如果您意外地键入了阻止PHP解析PHP代码的<或>,或者您的PHP由于任何原因停止被解析,那么您将在银盘上使用纯文本密码向用户提供一个明文/HTML文件。
发布于 2014-04-11 19:58:56
所有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';
?>更好的是,如果您在htdoc文件夹之外拥有您的password.php文件,用户将永远无法访问它。
- password.php
- htdocs/
- index.php
- images/
- image1.jpg在上面的文件夹示例中,您将在索引文件中执行以下操作。
require_once '../password.php';https://stackoverflow.com/questions/23021427
复制相似问题