小编Tat*_*yXY的帖子

如何通过SSH连接到MySQL Docker容器?

当我尝试通过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端口关闭是一个好习惯呢?

mysql ssh docker docker-compose

10
推荐指数
1
解决办法
5615
查看次数

TYPO3 Composer依赖冲突

我会简短的说:

我有一个安装了作曲家的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.但这是最后一种选择.

有没有其他人有一个如何解决这个问题的好方法?

cakephp typo3 database-migration symfony phinx

8
推荐指数
1
解决办法
213
查看次数

Firebase 身份验证中的用户 ID 如何在所有身份验证提供商(Google、Facebook、Github)中保持相同?

谷歌在这个视频中说:https://www.youtube.com/watch?v =8sGY55yxicA&t=1m3s

用户信息包含一个唯一的 ID,保证在所有提供商中都是唯一的。

如果用户在每个提供商上拥有不同的电子邮件和密码,这怎么可能呢?Google 如何知道哪个 Facebook、Google 和 Github 帐户属于同一用户?

javascript authentication facebook firebase firebase-authentication

6
推荐指数
1
解决办法
1033
查看次数

基于 MySQL 只读列

我想锁定 MySQL 数据库中的一些字段/列,这有可能吗?

Backgorund:我们正在使用 Revive,也称为 OpenX(当然是最新版本),但它一直被黑客入侵。尤其是田野prependappendox_zone表中。

我们已经为保护系统所做的工作:

  • 广告服务器位于不同的服务器上
  • 后端不再位于默认位置
  • 后端由 .htaccess 和 .htpasswd 保护
  • 我们删除了所有安装文件
  • 我们每分钟使用远程 Git-Repo 检查核心文件,以确保我们没有受损文件(未经授权的文件更改)
  • 我们删除了该文件:adxmlrpc.php因为它被称为攻击者的入口点
  • 还有一些我现在不记得的其他不错的技巧......

但有时列prependappend被破坏,所以我认为如果我们可以锁定这些字段或将它们设置为只读会很棒。

但我当然愿意接受任何其他解决方案。

mysql security advertisement-server openx

5
推荐指数
1
解决办法
3848
查看次数