那些年我們踩的坑,依然有人在踩坑

2021-09-02 06:08:28 字數 1556 閱讀 8347

舉個栗子客戶資訊是怎麼不安全的

在查詢使用者資訊的時候使用sql

select top 1 * from addr where id=位址id
在正常情況下,這個是肯定是沒有問題的,使用者的位址id是唯一。但是呢,如果在web**下,使用get請求去獲取,使用者隨便修改乙個id,那麼可能是獲取到別的客戶的資訊了,這時候其他客戶的資訊嚴重洩露了。

如web位址get位址是/user/deliveryaddress/55,使用者輸入的是/user/deliveryaddress/56 

所似我們正確做法是,從當前登入的session中獲取使用者id,同時使用使用者id和位址id對比,這樣才不會出錯。

select top 1 * from addr where id=位址id and userid=使用者id
確保此位址的資訊是當前使用者的

這種錯誤是不是只我才犯過呢?其實不然

前幾天某蛋糕被曝不是當天新鮮製作,內部管理亂得一塌糊塗,其實之前也在他們家買過蛋糕,於是好奇去了他們官網看一下,無意中發現在使用者修改位址資訊的時候也是使用者我之前的方式獲取資訊/user/deliveryaddress/id 。

做為乙個it,之前我就犯過這種錯誤,好奇之下,我隨便修改了乙個位址id,果然位址資訊改變了,看到其他使用者的資訊。後來為了驗證,我在tampermonkey上寫乙個迴圈

// ==userscript==

// @name xfxb

// @namespace

// @version 0.1

// @description try to take over the world!

// @author you

// @match

// @require

// @grant none

// ==/userscript==

(function() );

}// your code here...

})();

出現了以下資訊

輕鬆拿到其他使用者的位址資訊,看來其他人也同樣會犯這種錯誤。

@某蛋糕**的it,你的漏洞了該修復了

記錄踩過的坑,希望其他人少踩到相同的坑,並且能在cnblogs這找到解決辦法

我自己是一名大資料架構師,目前辭職在做線上教育大資料講師,每天都會直播分享免費公開課,大家可以**參加。以及我自己整理了一套最新的大資料學習系統教程,包括hadoop,資料探勘,資料分析。送給正在學習大資料的小夥伴!這裡是大資料學習者聚集地,歡迎初學和高階中的小夥伴!加qq群:584900118

那些年我們安裝nodejs踩過的坑

一路next傻瓜式安裝即可,finish之後,測試一下是否安裝成功 開始 cmd,直接輸入node v,出現數字版本號即為安裝成功,預設安裝在c program files nodejs 此刻使用express建立乙個工程,直接輸入express hello 這裡的hello是我自己取的工程名稱 建...

那些年踩過的CSS坑

1 img 標籤中的alt 與title的區別 title 滑鼠滑過時顯示的文字提示。對seo優化的影響 搜尋引擎對理解是通過alt屬性,所以在alt屬性中包含關鍵字的簡要文字說明,也是頁面優化的一部分。2 padding與margin區別 padding是控制項的內容相對控制項的邊緣的邊距,mar...

vue那些年踩過的坑

那些年踩過的坑 module not found module not found error can t resolve views coverconfigurationrong in d new operation admin src js router 原因 寫好路由之後,新建資料夾目錄,但是...