保护你的Sqlite数据库(SQLite数据库安全秘籍)
SQLite无任何限制的授权协议以及支持大部分标准的SQL 92语句,相信会有越来越多的人使用这个数据库。
PHP与SQLite的结合就如同当年的ASP与ACCESS结合一样,ACCESS可以遭遇被人恶意下载,SQLite同样不能幸免,因为SQLite也是一个二进制文件,只要WEB能访问到的,就能被下载。
ACCESS可以采用一些诡计来防止用户下载,SQLite也可以。下面向大家介绍几种常用的防止SQLite被下载的方法
1、将SQLite放在WEB不能访问到的地方。
有些虚拟主机一般也都会提供一个单独目录,供用户放一些不想被下载或访问的文件,所以放在这个目录很安全。Ilia还提供了另一种,该方法有点类似ACCESS的做法。
就是将SQLite数据库文件扩展名改为.php,并在该数据库中使用如下方法建立一个表:
create table ‘ 这样,任何人访问该文件时就会出现一个PHP解析错误的消息,也就防止了用户下载。
2、如果PHP是作为CGI或者APACHE的单独进程运行
那么可以修改一下SQLite数据库文件的权限,比如0600。
3、假如WEB服务器是APACHE,并且支持自定义.htaccess,那么可在.htaccess文件中加入以下内容:
Deny from all
其中.sqlite即为你的数据库文件的扩展名。
4、把你的数据库名字设置的复杂点,不容易被别人猜到
相关推荐
-
ASP.NET Core 数据保护(Data Protection 集群场景)下篇
前言 接[中篇] ,在有一些场景下,我们需要对 ASP.NET Core 的加密方法进行扩展,来适应我们的需求,这个时候就需要使用到了一些 Core 提供的高级的功能. 本文还列举了在集群场景下,有时候我们需要实现自己的一些方法来对Data Protection进行分布式配置. 加密扩展 IAuthenticatedEncryptor 和 IAuthenticatedEncryptorDescriptor IAuthenticatedEncryptor是 Data Protection 在
-
Oracle数据库 DGbroker三种保护模式的切换
1.三种保护模式 – Maximum protection 在Maximum protection下, 可以保证从库和主库数据完全一样,做到zero data loss.事务同时在主从两边提交完成,才算事务完成.如果从库宕机或者网络出现问题,主从库不能通讯,主库也立即宕机.在这种方式下,具有最高的保护等级.但是这种模式对主库性能影响很大,要求高速的网络连接. – Maximum availability 在Maximum availability模式下,如果和从库的连接正常,运行方式等同Maxi
-
如何保护MySQL中重要数据的方法
企业最有价值的资产通常是其数据库中的客户或产品信息.因此,在这些企业中,数据库管理的一个重要部分就是保护这些数据免受外部攻击,及修复软/硬件故障. 在大多数情况下,软硬件故障通过数据备份机制来处理.多数数据库都自带有内置的工具自动完成整个过程,所以这方面的工作相对轻松,也不会出错.但麻烦却来自另一面:阻止外来黑客入侵窃取或破坏数据库中的信息.不幸的是,一般没有自动工具解决这一问题;而且,这需要管理员手工设置障碍来阻止黑客,确保公司数据的安全. 不对数据库进行保护的常见原因是由于这一工作"麻烦&q
-
ASP.NET Core 数据保护(Data Protection)上篇
前言 上一篇记录了如何在 Kestrel 中使用 HTTPS(SSL), 也是我们目前项目中实际使用到的. 数据安全往往是开发人员很容易忽略的一个部分,包括我自己.近两年业内也出现了很多因为安全问题导致了很多严重事情发生,所以安全对我们开发人员很重要,我们要对我们的代码的安全负责. 在工作中,我们常常会见到 encode,base64,sha256, rsa, hash,encryption, md5 等,一些人对他们还傻傻分不清楚,也不知道什么时候使用他们,还有一些人认为MD5就是加密算法.
-
利用DOS命令来对抗U盘病毒保护U盘数据
U盘的便捷性与大容量的存储性,深受着广大用户的欢迎,几乎每个用户都会人手一个,但就是这么广泛的使用,以至于U盘被病毒悄悄盯上,越来越多的病毒通过电脑.通过文件毁坏重要的数据,为了保护好U盘的数据,灭除U盘病毒成为了用户们的首要任务,下面就教大家一个小技巧,利用DOS命令来对抗U盘病毒. 利用DOS命令删除U盘病毒的步骤: 1.点击"开始→运行",输入"CMD",按回车键 2.打开命令提示符窗口,切换到U盘所在盘符或是中了Autorun.inf病毒的盘符下,依次执行下
-
设置密码保护的SqlServer数据库备份文件与恢复文件的方法
设置密码保护SqlServer数据库备份文件! 备份SqlServer数据库 Backup Database [数据库] To disk='c:\mysql'+ replace(replace(replace(replace(CONVERT(varchar, getdate(), 121),'-',''),' ',''),':',''),'.','') +'.bak' With Password = '123',init; 恢复SqlServer数据库 Restore Database [数据库
-
利用MySQL加密函数保护Web网站敏感数据的方法分享
如果您正在运行使用MySQL的Web应用程序,那么它把密码或者其他敏感信息保存在应用程序里的机会就很大.保护这些数据免受黑客或者窥探者的获取是一个令人关注的重要问题,因为您既不能让未经授权的人员使用或者破坏应用程序,同时还要保证您的竞争优势.幸运的是,MySQL带有很多设计用来提供这种类型安全的加密函数.本文概述了其中的一些函数,并说明了如何使用它们,以及它们能够提供的不同级别的安全. 双向加密 就让我们从最简单的加密开始:双向加密.在这里,一段数据通过一个密钥被加密,只能够由知道这个密钥的人来
-
在ASP.NET 2.0中操作数据之七十一:保护连接字符串及其它设置信息
导言: ASP.NET应用程序的设置信息通常都存储在一个名为Web.config的XML文件里.在教程的前面部分我们已经好几次修改过Web.config文件了.比如在第一章,我们创建名为Northwind的数据集时,数据库连接字符串信息自动的添加到Web.config文件的<connectionStrings>节点.再后来,在第3章里,我们手动更新了Web.config文件,添加了一个<pages>元素,对所有的ASP.NET页面运用DataWebControls主题. 由于Web
-
C++多线程编程时的数据保护
在编写多线程程序时,多个线程同时访问某个共享资源,会导致同步的问题,这篇文章中我们将介绍 C++11 多线程编程中的数据保护. 数据丢失 让我们从一个简单的例子开始,请看如下代码: #include <iostream> #include <string> #include <thread> #include <vector> using std::thread; using std::vector; using std::cout; using std::
-
探究在C++程序并发时保护共享数据的问题
我们先通过一个简单的代码来了解该问题. 同步问题 我们使用一个简单的结构体 Counter,该结构体包含一个值以及一个方法用来改变这个值: struct Counter { int value; void increment(){ ++value; } }; 然后启动多个线程来修改结构体的值: int main(){ Counter counter; std::vector<std::thread> threads; for(int i = 0; i < 5; ++i){ threads
随机推荐
- 学习哪门编程语言最有前途,最好赚钱,需求量高
- sqlserver2005 TSql新功能学习总结(数据类型篇)
- iOS下border-image不起作用的解决办法
- 详解 objective-c中interface与protocol的作用
- Python中int()函数的用法浅析
- Javascript array类 数组操作方法
- 推荐一个自己用的封装好的javascript插件
- C语言中枚举与指针的实例详解
- mysql 修改用户密码图文介绍
- NodeJS中Buffer模块详解
- web 屏蔽BackSpace键实例代码
- Sql Server中存储过程中输入和输出参数(简单实例 一看就懂)
- Draggable Elements 元素拖拽功能实现代码
- jquery操作select元素和option的实例代码
- js+html5实现的自由落体运动效果代码
- 微信小程序 wx.request合法域名配置详解
- 基于字符串常用API(详解)
- 一个简单的js鼠标划过切换效果
- 我的论坛源代码(三)
- TensorFlow高效读取数据的方法示例