数据库安全之防止撰改

简介:

有些数据一旦添加,就不允许在做修改,可以使用此方法

文档出处:http://netkiller.github.io/

第 10 章 数据库安全

10.1. 保护表字段

通过触发器,使之无法修改某些字段的数据,同时不影响修改其他字段。

DROP TRIGGER IF EXISTS `members`;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='';
DELIMITER //
CREATE TRIGGER `members` BEFORE UPDATE ON `members` FOR EACH ROW BEGIN
	set new.name 		= old.name;
	set new.cellphone 	= old.cellphone;
	set new.email 		= old.email;
    set new.password 	= old.password;
END//
DELIMITER ;
SET SQL_MODE=@OLD_SQL_MODE;
		

再举一个例子

CREATE TABLE `account` (
	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	`user` VARCHAR(50) NOT NULL DEFAULT '0',
	`cash` FLOAT NOT NULL DEFAULT '0',
	PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
		

每一次数据变化新增一条数据

INSERT INTO `test`.`account` (`user`, `cash`) VALUES ('neo', -10);
INSERT INTO `test`.`account` (`user`, `cash`) VALUES ('neo', -5);
INSERT INTO `test`.`account` (`user`, `cash`) VALUES ('neo', 30);
INSERT INTO `test`.`account` (`user`, `cash`) VALUES ('neo', -20);
		

保护用户的余额不被修改

DROP TRIGGER IF EXISTS `account`;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='';
DELIMITER //
CREATE TRIGGER `account` BEFORE UPDATE ON `account` FOR EACH ROW BEGIN
	set new.cash 		= old.cash;
END//
DELIMITER ;
SET SQL_MODE=@OLD_SQL_MODE;		
		

文档出处:http://netkiller.github.io/

目录
相关文章
|
7月前
|
安全 Oracle 网络协议
第4章 数据库安全性——4.1 数据库安全性概述
第4章 数据库安全性——4.1 数据库安全性概述
|
7月前
|
SQL 存储 安全
第4章 数据库安全性——4.4 审计
第4章 数据库安全性——4.4 审计
|
7月前
|
存储 安全 数据库
第4章 数据库安全性——4.6 其他安全性保护
第4章 数据库安全性——4.6 其他安全性保护
|
7月前
|
存储 算法 安全
第4章 数据库安全性——4.5 数据加密
第4章 数据库安全性——4.5 数据加密
|
1月前
|
存储 监控 安全
|
7月前
|
SQL 存储 安全
第4章 数据库安全性——4.2 数据库安全性控制
第4章 数据库安全性——4.2 数据库安全性控制
|
10月前
|
存储 安全 数据库
数据库安全性
数据库安全性
102 0
|
存储 SQL 安全
一文带你了解数据库安全基础
数据库安全基础 今天和大家一起来了解一下数据库安全基础,大家都知道,数据库系统存储着各类重要且敏感的数据,已经成为黑客的主要攻击目标,例如金融信息、公司数据、个人用户数据等,黑客企图通过破坏服务器、数据库来获取利益,因此,确保数据库的安全越来越重要。
665 0
一文带你了解数据库安全基础
|
存储 云安全 运维
数据库安全实践
数据库安全实践
数据库安全实践
|
SQL 安全 NoSQL
【干货】最新最全的数据库安全解决方案
数据库安全方案整体架构 非云数据库常见的安全策略,是以开源或商业数据库内核安全特性为基础,由具备丰富运维经验的DBA制定完善、严谨的数据库安全规章制度并监督执行。数据安全策略的最终效果,高度依赖规章制度的落实情况和内部管理质量。
3933 0
【干货】最新最全的数据库安全解决方案