gpt4 book ai didi

php - 本地主机连接的安全性

转载 作者:可可西里 更新时间:2023-11-01 08:34:25 26 4
gpt4 key购买 nike

我意识到这可能看起来是一个奇怪的问题(我很抱歉问了几乎自己回答的问题)但是在阅读了对其他问题的回答后我很担心:

我有一个将数据存储在本地主机 MYSQL 数据库中的 php 脚本。其中一些信息是敏感信息,并使用 MYSQL AES 加密功能进行了加密。

我读到 MYSQL 不加密其连接中的数据。最近两个处理本地主机连接的回复中提到了这一点,因此我很担心。

我一直认为,由于数据是在同一台计算机内部传递的,因此被拦截的风险为零。难道不是这样吗?我应该在存储数据之前用 PHP 加密吗?

我正在使用 mysqli_*

通过 SSL 连接到服务器。

我目前使用的是共享虚拟服务器,不过一旦开发完成,我计划转移到专用机器上。

请专家让我放心,或者告诉我应该怎么做。

最佳答案

如您所料,使用 SSL 进行本地连接毫无意义。 SSL 的主要目的是对 channel 进行加密,以防止类似中间人的攻击。但是在本地连接的情况下不能有中间人。在您的设置中,我建议通过 local socket 进行连接,并完全绕过 TCP 层。

现在回到问题。

Should I be encrypting in PHP before storing the data?

不,如果数据库与执行脚本的机器在同一台机器上。

否,如果数据库是远程的,并且链接是可信的(您信任链接本身,或者链接是安全的,例如使用 SSL)。

是的,在所有其他情况下。

在后一种情况下(不受信任的远程数据库链接),AES_ENCRYPT() 不适合。加密/解密过程由 MySQL 完成。数据在 PHP 和 MySQL 之间未加密传输。此外,由于必须将加密 key 传递给 MySQL 的 AES_ENCRYPT()AES_DECRYPT(),因此该 key 通常会以未加密的方式与 SQL 查询的其余部分一起发送。

关于php - 本地主机连接的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17007279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com