当我尝试通过SSH隧道连接到Host Mashine(vServer)然后尝试通过内部docker Container-IP连接时,我无法连接到MySQL.
这是我的docker-compose文件.
version: '2'
services:
mysql:
build: ./mysql
environment:
MYSQL_ROOT_PASSWORD: test
volumes:
- ./db:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
我找到的唯一解决方案是将mysql容器的MySQL-Port转发给Host-Mashine.
version: '2'
services:
mysql:
build: ./mysql
environment:
MYSQL_ROOT_PASSWORD: test
volumes:
- ./db:/var/lib/mysql
ports:
- 3306:3306
Run Code Online (Sandbox Code Playgroud)
然后我可以通过主机IP连接到MySQL,但这是没有SSH直接通过TCP和端口.对于我来说,将MySQL服务引入互联网是一种禁忌.
原因可以在这里找到https://security.stackexchange.com/questions/63881/is-it-not-safe-to-open-mysqls-port-to-the-internet为什么带上你的不是一个好习惯mysql端口进入互联网.
那么用SSH连接我的docker mysql容器但是保持mysql端口关闭是一个好习惯呢?
我会简短的说:
我有一个安装了作曲家的TYPO3.
让我们看一下TYPO3的require部分.
"require": {
"php": ">=5.5.0",
"ext-fileinfo": "*",
"ext-json": "*",
"ext-pcre": "*",
"ext-session": "*",
"ext-xml": "*",
"psr/log": "1.0.*@dev",
"pear/http_request2": "~2.2.1",
"swiftmailer/swiftmailer": "~5.4.1",
"symfony/console": "~2.7.0",
"symfony/finder": "~2.7.0",
"doctrine/instantiator": "~1.0.4",
"typo3/class-alias-loader": "^1.0",
"typo3/cms-composer-installers": "^1.2.8",
"psr/http-message": "~1.0",
"cogpowered/finediff": "~0.3.1",
"mso/idna-convert": "^0.9.1"
}
Run Code Online (Sandbox Code Playgroud)
正如您所见,TYPO3需要"symfony/console":"~2.7.0",这意味着:(> = 2.7 <= 2.8)
在它旁边,我使用自定义CakePHP Part的迁移插件运行CakePHP.
我们来看看数据库迁移插件中的require部分:
"require": {
"php": ">=5.4",
"robmorgan/phinx": "0.5.3",
"cakephp/cakephp": "~3.1"
},
Run Code Online (Sandbox Code Playgroud)
第一眼看上去没有错,但让我们详细一点,仔细看看"robmorgan/phinx":"0.5.3".这个插件需要以下包,再次让我们仔细看看"phinx"中的composer.json.
"require": {
"php": ">=5.4",
"symfony/console": "~2.8|~3.0",
"symfony/config": "~2.8|~3.0",
"symfony/yaml": "~2.8|~3.0"
}
Run Code Online (Sandbox Code Playgroud)
现在你可以看到这个包需要至少2.8的"symfony/console",但它不起作用,因为TYPO3在"~2.7.0"中需要它,这意味着:(> = 2.7 <= 2.8).
我想出了这个问题,但我不知道如何解决它.我只有一个解决方案,但它不是很好,它正在分析TYPO3并编辑composer.json.但这是最后一种选择.
有没有其他人有一个如何解决这个问题的好方法?
谷歌在这个视频中说:https://www.youtube.com/watch?v =8sGY55yxicA&t=1m3s
用户信息包含一个唯一的 ID,保证在所有提供商中都是唯一的。
如果用户在每个提供商上拥有不同的电子邮件和密码,这怎么可能呢?Google 如何知道哪个 Facebook、Google 和 Github 帐户属于同一用户?
javascript authentication facebook firebase firebase-authentication
我想锁定 MySQL 数据库中的一些字段/列,这有可能吗?
Backgorund:我们正在使用 Revive,也称为 OpenX(当然是最新版本),但它一直被黑客入侵。尤其是田野prepend和append在ox_zone表中。
我们已经为保护系统所做的工作:
adxmlrpc.php因为它被称为攻击者的入口点但有时列prepend和append被破坏,所以我认为如果我们可以锁定这些字段或将它们设置为只读会很棒。
但我当然愿意接受任何其他解决方案。