![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=1738967299-C8UfLylfCfykPduQklxNGKE8s8i3l6z7-0-8ec63f275e1454671f38a15d8d0b044d)
使用安装指令进行openssh的服务安装,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-4-i.jpg?sign=1738967299-GKd7vfbxif6d3kaswKw4a1bh43VGRzMS-0-f699784f2897b252b4fc409a909327b6)
开启SSH服务,执行如下命令:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-5-i.jpg?sign=1738967299-rmMxMovBkPAcKJOIEv1Gyy6vsfAtHGSm-0-a12c247d4e12c6054b9480ded1d4f581)
输入命令设置密码如下:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-6-i.jpg?sign=1738967299-HbMMLkRvquUA5caZDeeMkCtdkm9Yygi5-0-4f1c51b01792504c8543accf6e6718f4)
执行好以后,成功开启CentOS的Docker容器,如下所示:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-7-i.jpg?sign=1738967299-NcdXdkXszLIeQMA1oCotYLOIDSGmysA3-0-c1c57b25235acbbf226ea2026363ff2f)
先在本地测试是否可以连接,命令如下:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/014-8-i.jpg?sign=1738967299-2S4nkLHVNdfeptmSPZrhHi1CM0EKseoP-0-a936b8e3c4c88db87b6b791f8dd16e6f)
执行好以后,检查本地测试连接,如下所示:
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/015-i.jpg?sign=1738967299-DLT54Kr8c5PQ5JB4zJspZe7yJ921UtYA-0-054ded010e060c4411ce2c9dbaa589a5)
1.4.2 使用phpStorm连接Docker
本节将介绍如何使用phpStorm连接Docker,具体操作如下。打开phpStorm并建立新项目,如图1-12所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-12.jpg?sign=1738967299-kAV2N7QQtuzlamveg31PcSiFwbIETxip-0-f8c7adfad657eddda0603ee2e04b6cda)
图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=1738967299-j2rPxXU5Jod4XN7LHhPnZgFWrORhAaq8-0-9ba9a7c4ad42edc085a1efeb7fe5b8a2)
图1-13 创建新项目的选项
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-14.jpg?sign=1738967299-hKiqDcrZHkxn2RmVz1uc78mH1tbqYDfB-0-fc22e34d7a6b5a4db39fe35864f520bd)
图1-14 填写项目名称和本地路径
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-15.jpg?sign=1738967299-D0Q6zgwuD8KIWlrIiaCge5zhk2e9eWWB-0-e2381f8173845ce278401960b6302290)
图1-15 配置Docker容器的SSH连接信息和路径
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-16.jpg?sign=1738967299-bHavaoHnQt7xVouof5PbWpSpzAQ8QXXa-0-2fdc45c2867a1781cd563ba92e7d6842)
图1-16 配置Project Root
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-17.jpg?sign=1738967299-ZTDLD8n0czOgFArTSZIVw3HXgrJfw5e1-0-e3308056c6bfe0e11c6a1077f11b2e89)
图1-17 配置完成
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-18.jpg?sign=1738967299-i64pYMnebHp7bOBMKloPjfnuX0sszADd-0-e3f6b79d3c4f84a86ee6df097fe41771)
图1-18 文件加载进phpStorm
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-19.jpg?sign=1738967299-FC1tPgukw5VHyqqbp2KcyRjvmoLmViex-0-adc65b7e4fb3b87d9a876c6b6787b858)
图1-19 实时修改更新到容器
新建一个phpinfo测试一下,可以看到有实时上传数据,同时能正常访问phpinfo.php,如图1-20所示。
![](https://epubservercos.yuewen.com/AAB7B5/21233234301205006/epubprivate/OEBPS/Images/1-20.jpg?sign=1738967299-Q7xVDuXCtmtvYo3N9qznNTxKSwDEpZbn-0-0394a2c01ab81cd14af87ab624e9a58c)
图1-20 PHP代码测试图