如果使用Sqlite数据库,那么数据库文件(xx.db)是可以直接在浏览器里被访问和下载的,虽然前提是能把文件名输入正确。

是这样的,我准备修改一下后台地址,由于我是用的Sqlite数据库(站点托管在万网主机上,数据库空间只有非常小的20mb不得不转用sqlite),在改密码时我正好注意到了我的数据库文件xxx.db,便随手打了一下URL访问了一下,然后直接震惊了,它弹出下载界面了,还可以下载!

可以下载数据库文件.png

这可真危险,特别是对使用Sqlite数据库的博主,不过好在typecho在创建数据库的时候是随机命名的,可我还是担心会泄露出去,我想出了两个解决方法

  1. 重写.htaccess文件,对数据库路径进行404处理

  2. 为数据库文件修改一个很长很长的文件名以增大找到的难度

  3. 放到myfolder文件夹(万网的主机才有这个文件夹)

我还是选择放到了myfolder文件夹里,这个文件夹是万网主机提供的特殊文件夹(主要是用来放一些无法公开的内容),外网无法方法这个文件夹,但是程序可以

目录.png

可以看到有5个文件夹,htdocs用来放置主站的程序(index.ppppphp什么的),myfolder可以放一些个人内容,这些内容是无法通过URL访问的,也就是与外隔绝

myfolder.png

这样就会提示404了,而且外网也无法访问,安全了许多