成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一言難盡,Jpa這個功能差點讓我丟了工作

新聞 前端
前陣子,有位朋友在微信上問我數(shù)據(jù)被刪了能不能恢復(fù),我問了下原因,居然是因為一個配置項惹的禍。

 [[327360]]

故事背景

前陣子,有位朋友在微信上問我數(shù)據(jù)被刪了能不能恢復(fù),我問了下原因,居然是因為一個配置項惹的禍。

故事細(xì)節(jié)

在 Spring Boot 中使用 jpa 來操作數(shù)據(jù)庫,jpa 就不做詳細(xì)的介紹了,相信大家都有所了解或者也用過。

在 jpa 中有一個配置項,可以讓程序在啟動的時候自動初始化表結(jié)構(gòu)或者更新表結(jié)構(gòu)的功能。聽上去很不錯,非常實用。

其實這是一個非常危險的功能,個人覺得不應(yīng)該提供這種功能,只要留了口子就有可能會出問題。

這個配置就是: spring.jpa.hibernate.ddl-auto

  • create( 危險系數(shù) 2 顆星 )

應(yīng)用啟動的時候,如果數(shù)據(jù)庫中沒有對應(yīng)的表,就會自動根據(jù)實體類的結(jié)構(gòu)創(chuàng)建一個表結(jié)構(gòu)。如果表已經(jīng)存在了就會將表中的數(shù)據(jù)清空。

  • create-drop( 危險系數(shù) 3 顆星 )

應(yīng)用啟動的時候,如果數(shù)據(jù)庫中沒有對應(yīng)的表,就會自動根據(jù)實體類的結(jié)構(gòu)創(chuàng)建一個表結(jié)構(gòu)。如果表已經(jīng)存在了就會將表中的數(shù)據(jù)清空。

程序停止的時候會將數(shù)據(jù)庫中所有表刪除掉。

  • update( 危險系數(shù) 1 顆星 )

應(yīng)用啟動的時候,如果數(shù)據(jù)庫中沒有對應(yīng)的表,就會自動根據(jù)實體類的結(jié)構(gòu)創(chuàng)建一個表結(jié)構(gòu)。如果表已經(jīng)存在了就會判斷有沒有新增字段或者修改長度之類的,如果有則會更新表結(jié)構(gòu),不會影響數(shù)據(jù)。

  • validate( 危險系數(shù) 0 顆星 )

validate 不會更新和刪除表或者數(shù)據(jù),只會做驗證邏輯。

  • none ( 危險系數(shù) 0 顆星 )

禁用 ddl 操作。

如何防范

這種問題歸根到底還是技術(shù)負(fù)責(zé)人沒重視線上安全問題,主要有下面幾點:

  • 數(shù)據(jù)沒備份

線上數(shù)據(jù)一定要有備份,而且備份得放在不同的機器上,降低風(fēng)險值。

  • 數(shù)據(jù)庫賬號權(quán)限細(xì)分,不給刪除權(quán)限,業(yè)務(wù)做邏輯刪除

如果公司有 DBA 那么可能會好點,對數(shù)據(jù)庫相關(guān)的安全會管控的比較嚴(yán)。如果沒有 DBA,基本上都是開發(fā)自己管理,技術(shù)負(fù)責(zé)人應(yīng)該去做這件事情。

一般的開發(fā)人員可以給只讀賬號就行了,偶爾線上查查數(shù)據(jù)之類的。

另外需要有一個讀寫的賬號,用于程序中。

像刪除,DDL 操作這種權(quán)限就留給管理員賬號就行了,不然很容易出事。

  • 應(yīng)用中的框架有 DDL 操作的功能,一律禁止使用

這次的問題,除了開發(fā)人員的大意,最主要就是框架中自帶了 DDL 的功能。像這種功能就應(yīng)該禁止使用。

所有的表結(jié)構(gòu)應(yīng)該在上線之前確認(rèn)好,最好手動執(zhí)行,像 DDL 這種操作本身就會鎖表,應(yīng)該在業(yè)務(wù)低峰期去做。交給程序自動做不靠譜。

我記得我們之前在代碼中也有去自動創(chuàng)建表的邏輯,在 code review 的時候被指了出來,然后就去掉了。雖然說是為了使用更方便,但是增加了線上數(shù)據(jù)庫的風(fēng)險。像一些開源框架中也有類似的邏輯,當(dāng)表不存在時會自動給你創(chuàng)建好表。

責(zé)任編輯:張燕妮 來源: 博客園
相關(guān)推薦

2018-11-07 19:46:30

本地ERP

2022-08-31 08:14:46

算法key鏈表

2020-12-18 06:01:02

容器鏡像軟件

2024-10-28 12:54:36

2023-03-20 18:55:10

微軟AI人工智能

2024-11-25 10:30:00

AI視頻開源

2020-05-29 08:14:49

代碼Try-Catch程序員

2019-09-09 09:29:27

互聯(lián)網(wǎng)程序員職業(yè)

2015-11-13 10:45:48

ASP.NET開發(fā)者

2023-02-15 08:18:58

AI工具

2009-12-01 18:41:08

SUSE Linux

2015-11-26 09:05:50

印度程序員生活

2022-11-28 08:20:54

重構(gòu)組件系統(tǒng)

2021-01-12 15:58:03

云管理

2021-12-31 18:24:45

ThreadLocal數(shù)據(jù)庫對象

2021-10-22 05:56:31

數(shù)據(jù)庫鎖表鎖定機制

2023-03-24 12:55:13

文心一言百度模型

2020-08-04 08:44:08

HashCode

2018-05-23 11:43:59

數(shù)據(jù)庫

2023-05-12 13:13:37

百度文心模型
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品久久一区二区三区 | 欧美视频一区二区三区 | 一本一道久久a久久精品综合蜜臀 | 亚洲乱码国产乱码精品精的特点 | av在线二区| 国产精品国产成人国产三级 | 日本久久精 | 密色视频 | 久久天天综合 | 国内毛片毛片毛片毛片 | 国产精品欧美一区二区三区 | 羞视频在线观看 | 亚洲网站免费看 | 一区二区三区不卡视频 | 在线精品国产 | 欧美一区二区免费 | 91成人在线视频 | 亚洲一区二区三区在线视频 | 久久精品国产久精国产 | 在线看黄免费 | 中文字幕一区二区在线观看 | 天天爱天天操 | 中文字幕一区二区在线观看 | 日韩中文字幕一区二区三区 | 日本精品久久 | 真人一级毛片 | 狠狠热视频| 中文字幕第十页 | 亚洲另类视频 | 成人欧美一区二区三区黑人孕妇 | 国产一级在线视频 | 香蕉视频黄色 | 日韩一区二区成人 | 九九av| 亚洲精品一区二三区不卡 | 久久精品综合 | 亚洲综合在线网 | 自拍在线| 免费一区二区三区 | 国产精品免费一区二区三区四区 | 久久久精彩视频 |