HTTP服务器上脚本的可见性


Visibility of scripts on HTTP server

如果我有一个http服务器与各种HTML页面和各种PHP(或其他)脚本,那么如果我尝试查看代码(如在Chrome的视图源工具)那么PHP代码不显示,这是一样的。我想知道密码对窥探的安全性如何?将密码硬编码到脚本中是否安全?

唯一可能暴露PHP代码的情况是,该脚本以某种方式被视为"非PHP"并作为原始文本提供。如果你的服务器配置是正确的,那么代码是"安全的",从基于web的泄漏。

话虽这么说,最好把关键信息,应该保持隐私(用户名/密码,配置变量,数据库dsn等…)在一个单独的文件,保持网站的文档根之外。这样,即使PHP在服务器上损坏/禁用,用户也只能看到

<?php
   include('critical_data_here.php');
?>

<?php
$username = 'root';
$password = 'password';
$lotto_ticket_worth_50million = 'under the left couch cushion at 221B Baker Street';
?>

保存密码从来都不是100%安全的,尤其是在你的服务器上。
如果您必须将密码保存在脚本中-将它们保存在文件中,这些文件不能放在公共目录中(不能由用户在浏览器中访问)。

<?php
$password = "password";
?>

保存到PHP模块加载完成。

<span>$password = "password";</span>

不安全,不能工作