PHP-加密安全问题(我易受攻击吗?)
我想通过PHP连接到ssh。我可以轻松做到这一点,但问题是登录详细信息(用户名、密码)的完整性。当我第一次尝试该代码时,我将用户名和密码存储在清晰可见的地方。我考虑过加密这些变量。通过查看其他问题,我发现PHP-加密安全问题(我易受攻击吗?),php,encryption,libsodium,Php,Encryption,Libsodium,我想通过PHP连接到ssh。我可以轻松做到这一点,但问题是登录详细信息(用户名、密码)的完整性。当我第一次尝试该代码时,我将用户名和密码存储在清晰可见的地方。我考虑过加密这些变量。通过查看其他问题,我发现libnail: 我正在使用他们加密字符串的第一个示例: $secret_key = sodium_crypto_secretbox_keygen(); $message = 'Sensitive information'; $nonce = random_bytes(SODIUM_CRYPT
libnail
:
我正在使用他们加密字符串的第一个示例:
$secret_key = sodium_crypto_secretbox_keygen();
$message = 'Sensitive information';
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$encrypted_message = sodium_crypto_secretbox($message, $nonce, $secret_key);
Decryption:
$decrypted_message = sodium_crypto_secretbox_open($encrypted_message, $nonce, $secret_key);
通过查看示例,您可以看到$encrypted\u message
,$secret\u key
,$nonce
。在加密登录详细信息时,我将这些变量插入数据库,然后在解密代码中需要时获取它们
我还将数据库连接脚本(PDO
)存储在一个文件夹中,该文件夹中有一个.htaccess
文件,其中包含以下内容:
order deny,allow
deny from all
allow from 127.0.0.1
1.我的方法安全且防黑客吗
2.如果有人破坏了我的数据库,他们能使用我用户的数据吗
3.该.htaccess文件有多有效?它能阻止黑客访问数据库连接文件吗
正如评论中提到的,你在这里做的事情有点奇怪。您最好使用带有密码短语的SSH密钥。这应该在代码审阅中发布。您为什么要加密详细信息?这是毫无意义的。如果您的服务器被破坏,那么攻击者将拥有获取明文用户名和密码所需的一切。我从未尝试使用php打开ssh连接,但我建议ssh连接使用公钥/私钥对,而不是密码。存储加密密码似乎是一个非常糟糕的主意。您是否尝试过@LukeJoshuaPark,如果在访问源代码/资源和数据本身时存在差异,则加密可能需要攻击者首先访问源代码。否则你是对的:这将是简单的模糊处理,而不是真正的加密。这应该在代码审查中公布。你为什么要加密细节?这是毫无意义的。如果您的服务器被破坏,那么攻击者将拥有获取明文用户名和密码所需的一切。我从未尝试使用php打开ssh连接,但我建议ssh连接使用公钥/私钥对,而不是密码。存储加密密码似乎是一个非常糟糕的主意。您是否尝试过@LukeJoshuaPark,如果在访问源代码/资源和数据本身时存在差异,则加密可能需要攻击者首先访问源代码。否则你是对的:这将是简单的模糊处理,而不是真正的加密。谢谢你的解释。我只想知道一种安全的方法来存储加密的消息。它们不是密码,只是随机数字和字母,类似于密码,但只有在验证其真实性的情况下才能提取。例如,我想在数据库中存储paysafecard代码(16个随机数),然后检索它们,并在尝试提取存储在它们上的金额时手动检查这些代码是否有效。谢谢您的解释。我只想知道一种安全的方法来存储加密的消息。它们不是密码,只是随机数字和字母,类似于密码,但只有在验证其真实性的情况下才能提取。例如,我想将paysafecard代码(16个随机数)存储在数据库中,然后检索它们,并在尝试提取存储在它们上的金额时手动检查这些代码是否有效。