我想测试一些 PHP 代码,我认为最好的方法是安装 XAMPP - 但我对在家用计算机上安装服务器软件感到紧张。
安装 XAMPP 通常是否安全(鉴于我之前没有做过,并且在服务器安全方面没有很多经验)?我需要注意什么?或者,是否有更安全的方法来测试 PHP 代码?
我想测试一些 PHP 代码,我认为最好的方法是安装 XAMPP - 但我对在家用计算机上安装服务器软件感到紧张。
安装 XAMPP 通常是否安全(鉴于我之前没有做过,并且在服务器安全方面没有很多经验)?我需要注意什么?或者,是否有更安全的方法来测试 PHP 代码?
Apache 和 MySQL 可以配置为只监听来自您自己计算机的请求。对于大多数测试系统来说,这很好,并且大大降低了风险,因为无法从 Internet 访问这些服务。
在你第一次启动 XAMPP 之前找到并编辑这些文件:
对于Apache,编辑文件 xampp\apache\conf\httpd.conf 和 xampp\apache\conf\extra\httpd-ssl.conf。查找以“Listen”开头的行,例如
Listen 80
并将它们替换为
Listen 127.0.0.1:80
对于MySQL,打开文件 xampp\mysql\bin\my.cnf 找到“[mysqld]”部分并添加这一行
bind-address=localhost
启动服务后,通过转到命令窗口并启动并执行来验证结果:
netstat -a -n
对于最后一列中标记为 LISTEN 的条目,请查看 Listen 列。它应始终以 127.0.0.1 或 ::1 开头,但不能以 0.0.0.0 开头。
XAMPP 的安全记录非常差。存在可通过 CSRF 利用的已知且未修补的远程代码执行漏洞。(它实际上是在他们捆绑的糟糕示例 PHP/MySQL 应用程序中。)即使您只绑定到本地主机,也可以远程利用它。相反的论点是攻击者必须知道您正在运行 XAMPP。他们安装的 PHPMyAdmin 总是过时的,并且有一些讨厌的漏洞也会影响这个项目。
我的建议是在 VM 上使用 Ubuntu。Ubuntu 的 LAMP 安装比 XAMPP 更容易,并且非常安全。安装时只需运行sudo tasksel
或选择LAMP
包。
免责声明:我是 XAMPP 开发人员。
在本地机器上安装 XAMPP 是安全的。您通常通过路由器连接到互联网,因此无法访问您当前的安装。
XAMPP 还发布了“如何使我的 XAMPP 安装更安全?” 您可以按照该指南更改 MySQL root 密码、禁用您不使用的服务等的部分。
最近 XAMPP 禁用了基于 PHP 的 XAMPP Dashboard,并且我们包含了静态 html 指南。任何与 CSFR 相关或与此面板相关的问题现在都不存在。
XAMPP 还考虑了最新的安全问题。您可以查看博客以了解我们尽快发布了新版本。
XAMPP 绝不应在生产环境中使用,并且应在开发机器上严格锁定并采取措施保护它,包括来自原始软件供应商(PHP、Apache、MySQL 等)的任何升级或安全补丁。
如果您确实选择安装 XAMPP,请确保它只允许来自环回地址的连接。您应该为 Apache、MySQL 和您为 XAMPP 设置的任何其他服务验证这一点。就好像您有一些可以从 LAN 内部访问的东西,并且您的网络上有其他人有意或无意地使用漏洞来访问您的机器并造成损害。