Nat*_*ate 5 php mysql security credentials
我一直在阅读,最好的做法是在Web根目录之外(在www文件夹之上)放置MySQL连接凭证(无论是类,定义等等).
为什么是这样?如果凭据在.php文件中,那么通过浏览器访问该文件无关紧要,对吧?
这是一种预防措施.如果有人意外地在您的apache服务器中禁用了php评估或更改.htaccess文件中的apache设置,则该文件可以像任何纯文本文件一样提供.或者,如果您意外忘记了php开始标记,它将像纯文本一样重新获得.并不是说你犯了这么愚蠢的错误,但未来的新手可能会犯错误.
为什么在可以阻止它可能的情况下保留可能的向量?只需听取其他人的建议(或者像我一样,用双脚和一只手射击)并将凭证移到你的docroot之外.
因为,在某种程度上,Web根目录下的任何内容都不安全.它可以在互联网上使用,这使它本身就不安全.
错误配置的服务器总有可能有一天输出任何PHP文件的内容,而不是将其发送给PHP进行解释.还有太多的人试图以任何方式进入你的数据库...其中一些只是为了好玩.
在任何给定的情况下,您应始终使用最安全的方法.进入是一个很好的习惯.
此外,您永远不应在Web应用程序中使用root密码.创建具有最小权限的特殊用户.
对于PHP,我总是使用.ini文件来存储敏感配置...
<?php
$config = parse_ini_file('../config.ini');
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |