![Web代码安全漏洞深度剖析](https://wfqqreader-1252317822.image.myqcloud.com/cover/20/40868020/b_40868020.jpg)
1.4 phpStorm远程连接Docker容器
为了方便调试代码,还需要设置IDE编辑器连接Docker进行代码实时调试修改。
1.4.1 配置Docker SSH服务
开启一个CentOS的Docker容器,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-3-i.jpg?sign=1738831197-y79sd3bienOgYYyiopeMcSg1sej8PkHB-0-5329f880a8073e229fcaf44e35656499)
使用安装指令进行openssh的服务安装,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-4-i.jpg?sign=1738831197-Sp78VuN6ZZYbO4BxvHKt3QTnswKBfKNL-0-36cc53a9c3cb570ff7441f40655dd2c5)
开启SSH服务,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-5-i.jpg?sign=1738831197-1LEIdgA50DTvnqQeMioZkbx7i8GvO8rP-0-c88b7106d4ed023ab774b85f7c7cb0a4)
输入命令设置密码如下:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-6-i.jpg?sign=1738831197-f7eMWPjMqiQYbwJYQB917jlw1piN8E7B-0-257b380dc27f3b311459d54d5f6d0b13)
执行好以后,成功开启CentOS的Docker容器,如下所示:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-7-i.jpg?sign=1738831197-seq7EdZFHgOCRo1yK3SrFf01QYWomUuH-0-3f8a60a426f67408829179cbef3b45fb)
先在本地测试是否可以连接,命令如下:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-8-i.jpg?sign=1738831197-huMgbk1SYfDbs84WVdIz2tmhIFZcls93-0-e81853407b9d4654bccac84267ffb89c)
执行好以后,检查本地测试连接,如下所示:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/015-i.jpg?sign=1738831197-TvUmbjYlRUKBIwL2hMXJcYw6I9bjZTDs-0-ae70784e32a15bc3e2f6465c50fba919)
1.4.2 使用phpStorm连接Docker
本节将介绍如何使用phpStorm连接Docker,具体操作如下。打开phpStorm并建立新项目,如图1-12所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-12.jpg?sign=1738831197-bsH4Hnx8SNMUjtuqngm9RFGiXDXAojn6-0-e0ea31eb68def23451e2271cff87fa9c)
图1-12 打开phpStorm并建立新项目
出现创建新工程的选项页面,如图1-13所示。
项目名称和本地路径设置如图1-14所示。
配置Docker容器的SSH连接信息和路径,如图1-15所示。
配置Project Root,如图1-16所示。
之前已经填写过目录,此处选择默认即可,如图1-17所示,配置完成。
配置完成后,目录里的文件就会加载到phpStorm和本地目录里,如图1-18所示。
点击File→Settings,并且搜索options,将Upload changes files automatically to the default server设置为Always。该选项用于支持实时修改更新到容器,如图1-19所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-13.jpg?sign=1738831197-fCNYkYxJcGDnankcQiq5n0UiyPeLBX4E-0-d20c8de66d81632ac72242646d80194e)
图1-13 创建新项目的选项
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-14.jpg?sign=1738831197-r7kDD9PwplEDhADjrndFjMC2F3eAvNFW-0-661f7ed39cbaec9bf7c3f2ed5bcd2357)
图1-14 填写项目名称和本地路径
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-15.jpg?sign=1738831197-626Oee24YXAtMUAxTmZADysG9j9tY7cE-0-96f1a56f9f87fad8c877d2b75d708959)
图1-15 配置Docker容器的SSH连接信息和路径
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-16.jpg?sign=1738831197-1RUUwepUJi78ekiDVGQhfoSHNSPcvgEV-0-f466eefe612294e4eb70c6f187919f45)
图1-16 配置Project Root
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-17.jpg?sign=1738831197-ZDB3vNSpJlkZHMMidcijTWSQRvHPmZRb-0-af9ab93333b9df35abcd7e9446347377)
图1-17 配置完成
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-18.jpg?sign=1738831197-bUCfVTezKKmgHYEoTfcy9wyLi2iDeP5r-0-585a7b69bab08139c21dc75c95d3a5a9)
图1-18 文件加载进phpStorm
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-19.jpg?sign=1738831197-VhqYJ1FIUO2jmbssggcLLKUAyS37WFM4-0-24c8058f4f2c4582956385e970e6d83c)
图1-19 实时修改更新到容器
新建一个phpinfo测试一下,可以看到有实时上传数据,同时能正常访问phpinfo.php,如图1-20所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-20.jpg?sign=1738831197-13mr1ZKhEoBG5qJqSvIc2EuOat09dHok-0-028ff93a33af55a58d7b5ff15aa62bc6)
图1-20 PHP代码测试图