【问题标题】:Where to keep SQLite file on webhost, and encryption在虚拟主机上保存 SQLite 文件的位置和加密
【发布时间】:2011-04-03 14:10:12
【问题描述】:

我似乎在任何地方都找不到的快速问题;至少不是一个明确的答案。我有一个 SQLite 文件,我上传到我的虚拟主机,但如果我在 URL 中导航到它,它可以被下载。我该如何防止这种情况?另外,我尝试使用 md5 功能加密密码字段,但它不允许我添加启用它的条目。我应该使用 SQLite3 吗?有什么想法吗?谢谢,我不太喜欢数据库...

【问题讨论】:

    标签: database sqlite web-hosting


    【解决方案1】:

    如果我在 URL 中导航到它,它可以被下载。我该如何防止这种情况?

    您可以将它放在文档根目录之上。例如,如果您有一个名为 public_htmlhtdocs 的目录,您的网站的所有文件都托管在该目录中,您可以简单地将数据库文件放在与这些目录相同的级别,而不是放在里面。

    我尝试使用 md5 功能加密密码字段,但它不允许我添加启用它的条目。

    MD5 是 hash,而不是 encryption。这意味着它是一种方式,而不是两种方式。

    你能解释一下你说“不允许我添加条目”是什么意思吗?

    我应该使用 SQLite3 吗?

    如果你有它,你应该。有人说要弃用旧的基于 2.x 的 SQLite 功能。

    【讨论】:

    • 每次我使用 SQLiteManager 插入带有 md5 的字段时,它都不允许...它也不允许我从表中删除行,但是哦,好吧
    • 我不认为我会使用它,因为它不加密
    • @Trevor,考虑使用不同的工具,例如 SQLite 命令行或one of their other recommended admin tools。 SQLite 不关心 数据的类型,所以 nothing 会阻止您使用正确的加盐哈希来存储密码。将结果粘贴在一个普通的旧常规 TEXT 字段中并称之为好。
    【解决方案2】:

    如果您上传您的数据库,请不要将其直接上传到您的 htdocs/documentroot 文件夹中的文件夹。您可以限制对它的访问,例如,如果您使用的是 apache,则可以在 .htaccess 文件中进行设置。

    在与文档根目录相同的级别上创建一个单独的文件夹:

    /htdocs
    /database     <-- upload your db to this folder
    ...
    

    所以没有人可以通过 URL 访问它。

    【讨论】:

    • 当它在新目录中时,我仍然可以使用 url 访问它
    • 我刚刚将文件权限更改为 0600 并且有效
    猜你喜欢
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2020-07-17
    • 2014-05-22
    • 2011-10-20
    相关资源
    最近更新 更多