2

五个月前,我创建了一个带有“登录/注册”系统的网站,但我对 MYSQL 的了解不够。包含序列化数组的文件,在该数组中包含成员 ID、用户名、密码和电子邮件。我的转储不足以在没有加密的情况下做到这一点,所以我这样做了

    ID : reversible manual encryption that uses search and replace to encrypt and decrypt
    Username : sha1 with salt
    Password : crypt
    email :manual encryption that uses search and replace to encrypt and decrypt

我的网站现在运行正常,我没有遇到任何与此相关的问题

那么我可能会遇到任何可能的安全问题吗?因为接下来的三个月我很忙,我不想把时间浪费在一些不需要的事情上。

4

1 回答 1

1

如果您使用 bcrypt 方法,那可能是密码的最佳选择。然而,主要的不是你的加密,而是包含所有这些用户数据的文件是否可以通过网络浏览器下载,如果它位于你的网络服务器的 docroot 或其子目录中的某个地方,则很可能是这种情况,除非你已经使用适当的 .htaccess 指令锁定了该子目录。

因此,请检查您是否可以通过 Web 浏览器以任何方式访问序列化数据。由于您知道文件名和位置,因此对您来说应该很容易。仅仅因为其他人不这样做,并不意味着他们不会。

除此之外,将内容保存在数据库中而不是序列化文件中的决定通常不是(仅)为了安全,而是为了方便、性能和灵活性。

如果您可以使用序列化文件,那么请务必使用它。只要其他人无法访问它,您就应该没问题,事实上您可以免受其他攻击媒介的影响,例如 SQL 注入。

于 2013-04-14T15:13:02.057 回答