日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

利用mysql的预编译机制_SQL注入笔记记录+MySQL的事务隔离级别

發布時間:2025/3/20 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用mysql的预编译机制_SQL注入笔记记录+MySQL的事务隔离级别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(一)SQL注入。

1.如何理解SQL注入?

SQL注入是一種將SQL代碼添加到輸入參數中,傳遞到SQL服務器解析并執行的一種攻擊手法。

2.SQL注入是如何產生的?

web開發人員無法保證所有的輸入都已經過濾。

攻擊者利用發送給SQL服務器的輸入數據構造可執行的SQL代碼

數據庫未做相應的安全配置。

3.如何尋找SQL注入漏洞?

借助邏輯推理:

識別web應用中所有輸入點。

了解哪些類型的請求會觸發異常。(get特殊字符‘ “)

檢測服務器響應中的異常。

4.如何進行SQL注入攻擊?

數字注入。

(1)select * from name where id=-1 OR 1=1; 這樣就會查詢全表。

字符串注入。

(1)SQL,#后面會被注釋掉的

select * from name= 'llsydn'#' and password = "123456";

(2)SQL,--后面會被注釋掉的

select * from name= 'llsydn'--' and password = "123456";

5.如何預防SQL注入?

嚴格檢查輸入變量的類型和格式。

過濾和轉義特殊字符。

利用mysql的預編譯機制。

(二)MySQL隔離級別

1.MySQL事務隔離級別。

SERIALIZABLE; REPEATABLE READ; READ COMITTED; READ UNCOMMITTED

序列化;?????? 可重復讀;??????? 提交讀;?????? 未提交讀

(1)serializable,最高級別,當別操作未提交時,不能操作數據庫。

(2)repeatable read,可重復讀。(默認的隔離級別)

出現幻讀的情況,A事務插入數據insert,并提交commit。B事務查詢select,并更新update數據的時候,并提交commit,B查詢會出現幻讀,即會顯示A事務插入的數據。

(3)read committed,提交讀。A事務更新update數據,并提交commit。B事務中都可以讀取到被更新的數據。(即出現了不可重復讀)

(4)read uncommitted,未提交讀。A事務更新update數據,未提交。B事務中都可以讀取到被更新的數據。(A事務,回滾rollback了,則會出現臟讀)

2.MySQL性能與非事務表的表鎖定。

支持事務的數據庫在保持不同用戶彼此隔離方面要比非事務數據庫復雜,因此自然

反映在系統的性能上面。

在使用事務表時,提高性能的一些方法:

(1)使用小事務。

(2)選擇合適的隔離級別。

(3)保證開始事務前一切都是可行的。

(4)避免死鎖。

總結

以上是生活随笔為你收集整理的利用mysql的预编译机制_SQL注入笔记记录+MySQL的事务隔离级别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。