相信使用PHP开发的人员一定不会对SQLite感到陌生了,PHP5已经集成了这个轻量型的数据库。SQLite无任何限制的授权协议以及支持大部分标准的SQL 92语句,相信会有越来越多的人使用这个数据库。作为WEB开发而言,PHP与SQLite的结合就如同当年的ASP与ACCESS结合一样, ACCESS可以遭遇被人下载,SQLite同样不能幸免,毕竟SQLite也是一个二进制文件,只要WEB能访问到的,就能被下载。
ACCESS可以采用一些诡计来防止用户下载,SQLite同样可以,下面偶就将一些网上收集过来的解决方案贴在这里。
1、将SQLite放在WEB不能访问到的地方。
有些虚拟主机一般也都会提供一个单独目录,供用户放一些不想被下载或访问的文件,所以放在这个目录很安全。
2、如果PHP是作为CGI或者APACHE的单独进程运行,那么可以修改一下SQLite数据库文件的权限,比如0600。
3、假如WEB服务器是APACHE,并且支持自定义.htaccess,那么可在.htaccess文件中加入以下内容:
<FilesMatch ".sqlite$"> Deny from all </FilesMatch>
其中.sqlite即为你的数据库文件的扩展名。
4、Ilia还提供了另一种,该方法有点类似ACCESS的做法。
就是将SQLite数据库文件扩展名改为.php,并在该数据库中使用如下方法建立一个表:
create table '<?php' (a);
这样,任何人访问该文件时就会出现一个PHP解析错误的消息,也就防止了用户下载。
PHP新闻组也有一篇很长的关于SQLite数据库安全的讨论,感兴趣的朋友可以看看SQLite security。
(参考链接: http://blog.csdn.net/ezdevelop/archive/2004/09/25/116431.aspx)
|