0

我有一个 PHP 函数,我的服务器上的任何其他函数都可以连接到全局 MySQL 数据库:

function connect_to_mysql_db() {

$con = mysql_connect("localhost", "user_name", "password");
if (!$con)
   {
      die('Could not connect: ' . mysql_error());
   }
mysql_select_db("db_name", $con);

}

包含此功能的文件以及大多数其他功能位于我的 BlueHost 服务器上的以下位置:

/home3/username/includes/scripts.php

该数据库目前仅包含一个包含电子邮件地址列表的表(我的订阅者的那些......)我只想知道数据库是否安全(为了我的订阅者)

如果没有,是否有人有任何其他想法(加密?)。我知道哈希不起作用,因为这通常是单向的......

编辑

仅供参考:/includes/目录不是/public_html/

结论

感谢所有帮助过我的人,但我决定无缘无故地承担太多责任,所以我不会在数据库中存储任何安全的东西。相反,我将使用外部服务!

干杯!

4

3 回答 3

2

我认为这不会给您任何额外的安全性。如果有人入侵您的服务器,读取脚本以获取数据库凭据,登录 mysql,读取 mailadressen 并仅获取加密数据,他可能会再次查看解密密钥的脚本......

所以,我认为这不会使它更安全。您最好专注于编写安全环境以防止对服务器的任何访问;-)

于 2012-07-15T15:16:17.117 回答
1

我认为它足够安全。无论如何,如果您想要更多,请尝试以下操作:

$crypted = openssl_encrypt ('myemail' ,'AES256', 'mypass')

接着

$decrypted = openssl_decrypt ($crypted, 'AES256', 'mypass')

参考 这里

于 2012-07-14T19:59:15.687 回答
-2

您可以 AES 加密电子邮件地址。IE:

$query = "INSERT INTO (table) AES_ENCRYPT('$email', '$salt')..."

要以普通文本取回电子邮件:

$query = "SELECT AES_DECRYPT('email', '$salt') FROM (table) WHERE 1..."

$salt 将是您放入变量中的随机生成的密钥。

数据库表中的列必须是 blob。

于 2012-07-14T19:57:53.827 回答