2022-2023-1 20221414《計算機基礎和程式設計》第15周學習總結
阿新 • • 發佈:2022-12-11
基本資訊
這個作業屬於哪個課程 | 2022-2023-1-計算機基礎與程式設計 |
---|---|
這個作業要求在哪裡 | 2022-2023-1計算機基礎與程式設計第15周作業 |
作業正文 | https://www.cnblogs.com/20221414youer/p/16973773.html |
實驗七-緩衝區溢位總結
- 原理:緩衝區溢位是指程式試圖向緩衝區寫入超出預分配固定長度資料的情況。這一漏洞可以被惡意使用者利用來改變程式的流控制,甚至執行程式碼的任意片段。這一漏洞的出現是由於資料緩衝器和返回地址的暫時關閉,溢位會引起返回地址被重寫。
*保護:
1.強制寫正確的程式碼的方法;
2.通過作業系統使得緩衝區不可執行,從而阻止攻擊者殖入攻擊程式碼;
3.利用編譯器的邊界檢查來實現緩衝區的保護;
4.在程式指標失效前進行完整性檢查 - 我直接用過的緩衝區溢位保護函式:
scanf_s
通過新增引數限制輸入字元數量從而起到保護作用。vs2022中還有很多加上了_s
的安全函式,使用時需注意。
程式碼問題
本週進行了實驗6驗收,發現一個問題:程式碼重複且低效。
一是具有相同的printf功能的函式寫了多個,且求總分和平均分的函式分開寫了;
二是重複執行求總分和平均分的函式;
改進方案:
把各個具有printf功能的函式整合成一個函式,求總分和平均分的函式整合到一起。
初始化stu[0].sum = -1。之後每次都檢驗它是否為負一,如是,說明求總分和平均分的函式沒有被執行,再執行相應函式。
總結
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第15周 | 400/2600 | 2/21 | 40/230 |