




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、案例16 Web系統(tǒng)安全和部署 授課課時(shí):4課時(shí)(180分鐘)216.1 案例描述 Web網(wǎng)站的安全最基本的是用戶(hù)輸入環(huán)節(jié),要求具備防范SQL語(yǔ)句的注入式攻擊的能力,以避免給Web系統(tǒng)帶來(lái)嚴(yán)重的安全威脅。更進(jìn)一步的可以通過(guò)ASP.NET和IIS提供的身份驗(yàn)證策略、授權(quán)策略等構(gòu)建一個(gè)多層次的安全體系以保障Web系統(tǒng)的安全。SQL語(yǔ)句注入式攻擊的示例如圖所示 。案例描述 316.2 案例完成步驟16.2.1 使用參數(shù)化查詢(xún) 1創(chuàng)建樣例數(shù)據(jù)庫(kù) 本案例要求在SQL Server 2005數(shù)據(jù)庫(kù)管理系統(tǒng)中創(chuàng)建名稱(chēng)為Security的數(shù)據(jù)庫(kù),其中包含一個(gè)名稱(chēng)為tb_Users的數(shù)據(jù)表用來(lái)保存Web系統(tǒng)的用
2、戶(hù)信息。創(chuàng)建數(shù)據(jù)庫(kù)的腳本如下。 416.2 案例完成步驟16.2.1 使用參數(shù)化查詢(xún) 2界面設(shè)計(jì)(1)創(chuàng)建一個(gè)名稱(chēng)為SecurityDemo的網(wǎng)站。(2)將SecurityDemo項(xiàng)目中的默認(rèn)的Default.aspx改名為L(zhǎng)ogin1.aspx。(3)布局頁(yè)面Login1頁(yè)面主要Label、TextBox、Button控件組成,這些控件的主要屬性見(jiàn)下表。 516.2 案例完成步驟16.2.1 使用參數(shù)化查詢(xún) 616.2 案例完成步驟16.2.1 使用參數(shù)化查詢(xún) 最終得到的頁(yè)面設(shè)計(jì)效果如圖所示。該頁(yè)面所對(duì)應(yīng)form部分的代碼參閱教材。 716.2 案例完成步驟16.2.1 使用參數(shù)化查詢(xún) 3配
3、置Web.Config文件 本次案例要實(shí)現(xiàn)連接和操作數(shù)據(jù)庫(kù)的功能,因此將數(shù)據(jù)庫(kù)的連接字符串保存在Web.Config文件中。在Web.Config文件中配置連接字符串如下所示:其中SQL Server 2005數(shù)據(jù)庫(kù)服務(wù)器名稱(chēng)為.sql2005,數(shù)據(jù)庫(kù)名稱(chēng)為Security,登錄用戶(hù)名為sa,密碼為123456。 816.2 案例完成步驟16.2.1 使用參數(shù)化查詢(xún) 4實(shí)現(xiàn)普通登錄功能 普通登錄功能使用普通的方式構(gòu)建SQL語(yǔ)句進(jìn)行用戶(hù)名和密碼的驗(yàn)證,最終實(shí)現(xiàn)的普通登錄按鈕事件如下所示 916.2 案例完成步驟16.2.1 使用參數(shù)化查詢(xún) Login1.aspx運(yùn)行后,輸入用戶(hù)名demo和密碼d
4、emo,單擊“普通登錄”按鈕,調(diào)用btnLogin_Click方法進(jìn)行用戶(hù)名和密碼的驗(yàn)證,驗(yàn)證通過(guò)后在兩個(gè)標(biāo)簽中分別顯示登錄成功信息和SQL語(yǔ)句信息,程序運(yùn)行結(jié)果如圖所示。 1016.2 案例完成步驟16.2.1 使用參數(shù)化查詢(xún) 5實(shí)現(xiàn)安全登錄功能 普通登錄功能使用普通的方式構(gòu)建SQL語(yǔ)句進(jìn)行用戶(hù)名和密碼的驗(yàn)證,最終實(shí)現(xiàn)的安全登錄按鈕事件代碼如下所示 。 1116.2 案例完成步驟16.2.1 使用參數(shù)化查詢(xún) Login1.aspx運(yùn)行后,輸入用戶(hù)名demo和密碼demo,單擊“安全登錄”按鈕,調(diào)用btnLoginBetter方法進(jìn)行用戶(hù)名和密碼的驗(yàn)證,驗(yàn)證通過(guò)后在兩個(gè)標(biāo)簽中分別顯示登錄成功信
5、息和SQL語(yǔ)句信息(輸入的用戶(hù)名和密碼受到保護(hù)),程序運(yùn)行結(jié)果如圖所示。1216.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 表單身份驗(yàn)證的開(kāi)發(fā)步驟如下: 將IIS 配置為使用匿名訪(fǎng)問(wèn); 將ASP.NET 配置為使用表單身份驗(yàn)證; 創(chuàng)建登錄Web 表單并驗(yàn)證提供的憑據(jù); 從自定義數(shù)據(jù)存儲(chǔ)中檢索角色列表; 創(chuàng)建表單身份驗(yàn)證票證(在票證中存儲(chǔ)角色); 創(chuàng)建一個(gè)IPrincipal 對(duì)象; 將IPrincipal 對(duì)象放到當(dāng)前的HTTP 上下文中; 基于用戶(hù)名/角色成員身份對(duì)用戶(hù)進(jìn)行授權(quán)。 1316.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 1創(chuàng)建存儲(chǔ)過(guò)程sp_getUserInfo 由于
6、要使用加密字符串,這里借助于存儲(chǔ)過(guò)程來(lái)根據(jù)指定的用戶(hù)名獲得其密碼。創(chuàng)建存儲(chǔ)過(guò)程sp_getUserInfo的腳本如下: 1416.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 2配置Web.Config文件在Web.Config文件中添加啟用Forms表單驗(yàn)證的語(yǔ)句如下: 由于使用相同的數(shù)據(jù)庫(kù),該實(shí)例使用的連接字符串的同上例,在此不做重復(fù)配置。 1516.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 3設(shè)計(jì)和實(shí)現(xiàn)注冊(cè)頁(yè)面(1)在SecurityDemo網(wǎng)站中新建名稱(chēng)為Register.aspx的Web頁(yè)面。(2)設(shè)計(jì)注冊(cè)頁(yè)面Register頁(yè)面主要Label、TextBox、Button和
7、驗(yàn)證控件組成,這些控件的主要屬性見(jiàn)下表。 1616.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 最終得到的頁(yè)面設(shè)計(jì)效果如圖所示。 1716.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 1816.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 1916.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 程序運(yùn)行后,輸入用戶(hù)名和密碼(分別為formdemo),如圖所示。單擊“注冊(cè)”按鈕,首先由驗(yàn)證控件完成數(shù)據(jù)輸入的合法性驗(yàn)證,再把用戶(hù)名和加密后的密碼寫(xiě)入到數(shù)據(jù)庫(kù),注冊(cè)成功將會(huì)顯示“注冊(cè)成功”的信息,如圖所示。 2016.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 在SQL Server
8、2005中查看到新注冊(cè)的用戶(hù)信息,我們發(fā)現(xiàn)該用戶(hù)的u_Pass和u_SaltPass都已經(jīng)被加密,如圖所示。 2116.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 4設(shè)計(jì)和實(shí)現(xiàn)登錄頁(yè)面(Login2.aspx)(1)在SecurityDemo網(wǎng)站中新建名稱(chēng)為L(zhǎng)ogin2.aspx的Web頁(yè)面。(2)設(shè)計(jì)登錄頁(yè)面 Login2.aspx頁(yè)面的設(shè)計(jì)與注冊(cè)頁(yè)面Register.aspx頁(yè)面大同小異,主要增加了一個(gè)CheckBox用于選擇是否保存Cookie,頁(yè)面控件及其詳細(xì)屬性在此不再重復(fù)。最終得到的頁(yè)面設(shè)計(jì)效果如圖所示 。 2216.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 (3)實(shí)現(xiàn)注
9、冊(cè)功能 本程序?qū)斎氲挠脩?hù)和密碼進(jìn)行驗(yàn)證,最終完成的“登錄”按鈕的事件代碼如下: 2316.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 (3)實(shí)現(xiàn)注冊(cè)功能 本程序?qū)斎氲挠脩?hù)和密碼進(jìn)行驗(yàn)證,最終完成的“登錄”按鈕的事件代碼參閱教材。 2416.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 5設(shè)計(jì)和實(shí)現(xiàn)測(cè)試頁(yè)面(Test.aspx)(1)在SecurityDemo網(wǎng)站中新建名稱(chēng)為T(mén)est.aspx的Web頁(yè)面。(2)設(shè)計(jì)測(cè)試頁(yè)面Test.aspx頁(yè)面使用四個(gè)標(biāo)簽用于顯示登錄用戶(hù)名和用戶(hù)身份。并通過(guò)一個(gè)“注銷(xiāo)”按鈕返回。最終得到的頁(yè)面設(shè)計(jì)效果如圖所示。 2516.2 案例完成步驟16.2.2
10、 使用表單身份驗(yàn)證 (3)實(shí)現(xiàn)注銷(xiāo)功能本程序用于顯示已注冊(cè)的用戶(hù)名及其身份,并提供注銷(xiāo)功能,最終完成的頁(yè)面啟動(dòng)時(shí)和“注銷(xiāo)”按鈕的事件代碼如下 2616.2 案例完成步驟16.2.2 使用表單身份驗(yàn)證 6運(yùn)行程序 使用注冊(cè)程序進(jìn)行用戶(hù)注冊(cè)后,啟動(dòng)Login2.aspx程序,輸入用戶(hù)名和密碼(分別為formdemo),如圖所示。單擊“登錄”按鈕,首先由驗(yàn)證控件完成數(shù)據(jù)輸入的合法性驗(yàn)證,再進(jìn)行用戶(hù)名和密碼驗(yàn)證,登錄成功將會(huì)跳轉(zhuǎn)到測(cè)試頁(yè)面(Test.aspx)并顯示登錄用戶(hù)的信息,如圖所示。 2716.2 案例完成步驟16.2.3 發(fā)布與測(cè)試ASP.NET程序 1發(fā)布ASP.NET程序(1)打開(kāi)“Se
11、curityDemo”網(wǎng)站,在“解決方案資源管理器”中,右鍵單擊要發(fā)布的網(wǎng)站SecurityDemo,在彈出菜單中選擇“發(fā)布網(wǎng)站”,如圖所示。打開(kāi)“發(fā)布網(wǎng)站”對(duì)話(huà)框。 2816.2 案例完成步驟16.2.3 發(fā)布與測(cè)試ASP.NET程序 (2)在“發(fā)布網(wǎng)站”對(duì)話(huà)框中,在該對(duì)話(huà)框中的“目標(biāo)位置”文本框中輸入或通過(guò)單擊右側(cè)的按鈕選擇要發(fā)布網(wǎng)站的目標(biāo)位置,這里發(fā)布網(wǎng)站的目標(biāo)位置為“e:Security”,如圖所示。 2916.2 案例完成步驟16.2.3 發(fā)布與測(cè)試ASP.NET程序 (3)單擊“確定”按鈕,Microsoft Visual Studion 2005將編譯網(wǎng)站的內(nèi)容,并將編譯的文件輸
12、出到指定的文件夾中,在“輸出”窗口將會(huì)顯示編譯的進(jìn)度信息,如果編譯時(shí)發(fā)生一個(gè)錯(cuò)誤,“輸出”窗口會(huì)報(bào)告該錯(cuò)誤。發(fā)布成功后在目標(biāo)文件夾(E:Security)可以查看到發(fā)布后的文件,如圖所示 。 3016.2 案例完成步驟16.2.3 發(fā)布與測(cè)試ASP.NET程序 2測(cè)試發(fā)布的網(wǎng)站 網(wǎng)站發(fā)布完成后,可以通過(guò)Web服務(wù)器運(yùn)行網(wǎng)站來(lái)對(duì)網(wǎng)站進(jìn)行測(cè)試。要運(yùn)行網(wǎng)站有兩種方法可以實(shí)現(xiàn),一是創(chuàng)建一個(gè)指向目標(biāo)文件夾的IIS虛擬目錄;二是將發(fā)布后的目標(biāo)文件夾設(shè)置為Web共享。方法一:配置IIS虛擬目錄使用IIS管理工具創(chuàng)建虛擬目錄的主要操作步驟如下。(1)打開(kāi)“控件面板”中的“管理工具”,雙擊“Internet信息
13、服務(wù)管理器”,打開(kāi) “Internet信息服務(wù)(IIS)管理器”對(duì)話(huà)框。(2)在“Internet信息服務(wù)(IIS)管理器”中,依次選擇“網(wǎng)站”“默認(rèn)網(wǎng)站”節(jié)點(diǎn),單擊鼠標(biāo)右鍵,在彈出的菜單中,選擇“新建”“虛擬目錄”命令,如圖所示。 3116.2 案例完成步驟16.2.3 發(fā)布與測(cè)試ASP.NET程序 3216.2 案例完成步驟16.2.3 發(fā)布與測(cè)試ASP.NET程序 (3)打下“虛擬目錄創(chuàng)建向?qū)А睂?duì)話(huà)框,單擊“下一步”按鈕,打開(kāi)“虛擬目錄別名”對(duì)話(huà)框,在“別名”文本框中輸入虛擬目錄的別名,這里虛擬目錄別名為“Security”,如圖所示。然后單擊“下一步”按鈕,打開(kāi)“虛擬內(nèi)容目錄”對(duì)話(huà)框,
14、這里指定虛擬目錄站點(diǎn)的路徑為“E:Security”,如圖所示。 3316.2 案例完成步驟16.2.3 發(fā)布與測(cè)試ASP.NET程序 (4)完成虛擬目錄路徑設(shè)置之后,單擊“下一步”按鈕,打開(kāi)“訪(fǎng)問(wèn)權(quán)限”對(duì)話(huà)框,選擇相應(yīng)的權(quán)限,如圖所示。單擊“下一步”按鈕彈出“Internet管理器”對(duì)話(huà)框,選擇“是”按鈕,彈出“已完成虛擬目錄創(chuàng)建向?qū)А睂?duì)話(huà)框,單擊“完成”按鈕,虛擬目錄創(chuàng)建成功。返回“Internet信息服務(wù)”對(duì)話(huà)框。 3416.2 案例完成步驟16.2.3 發(fā)布與測(cè)試ASP.NET程序 方法二:設(shè)置Web共享首先選擇Web項(xiàng)目所在的文件夾(如E:Security),然后右擊文件夾,在打開(kāi)的
15、快捷菜單中選擇“共享和安全”命令或者選擇“屬性”命令打開(kāi)“屬性”對(duì)話(huà)框,切換到“Web共享”選項(xiàng)卡,如圖所示。 3516.2 案例完成步驟16.2.4 打包與安裝網(wǎng)站 1打包網(wǎng)站打包就是制作安裝程序即將應(yīng)用程序包裝成易于部署的形式,包裝好之后的應(yīng)用程序可以方便地安裝到目標(biāo)服務(wù)器上。打包網(wǎng)站的操作步驟如下。(1)打開(kāi)“SecurityDemo”網(wǎng)站。(2)選擇“文件”“添加”“新建項(xiàng)目”命令。(3)打開(kāi)“添加新項(xiàng)目”對(duì)話(huà)框,在“項(xiàng)目類(lèi)型”列表中選擇“其他項(xiàng)目類(lèi)型”“安裝和部署”節(jié)點(diǎn),在右側(cè)的“模板”列表中選擇“Web安裝項(xiàng)目”,在“名稱(chēng)”文本框中輸入存放打包網(wǎng)站的文件夾名稱(chēng),在“位置”文本框中輸
16、入存放打包網(wǎng)站文件夾的目標(biāo)地址,設(shè)置結(jié)果如圖所示。 3616.2 案例完成步驟16.2.4 打包與安裝網(wǎng)站 3716.2 案例完成步驟16.2.4 打包與安裝網(wǎng)站 (4)單擊“確定”按鈕,Web安裝項(xiàng)目已經(jīng)添加到“解決方案資源管理器”中,并且“文件系統(tǒng)編輯器”處于打開(kāi)狀態(tài),如圖所示。3816.2 案例完成步驟16.2.4 打包與安裝網(wǎng)站 (5)在“文件系統(tǒng)編輯器”中右鍵單擊“Web應(yīng)用程序文件夾”,在彈出的快捷菜單中選擇“添加”“項(xiàng)目輸出”命令,如圖所示 。3916.2 案例完成步驟16.2.4 打包與安裝網(wǎng)站 (6)在打開(kāi)的“添加項(xiàng)目輸出組”對(duì)話(huà)框中,各選項(xiàng)保留默認(rèn)值,如圖所示。(7)單擊“
17、確定”按鈕,即可將“內(nèi)容文件”添加到打包網(wǎng)站中。在“文件系統(tǒng)編輯器”中將會(huì)出現(xiàn)內(nèi)容輸出文件 。(8)選擇“生成”“生成SecuritySetup”命令,生成安裝文件,生成安裝項(xiàng)目文件夾中的內(nèi)容如圖所示。 4016.2 案例完成步驟16.2.4 打包與安裝網(wǎng)站 2安裝網(wǎng)站安裝該網(wǎng)站的具體操作步驟如下:(1)打開(kāi)安裝程序生成目錄,在“Debug”文件夾雙擊“setup.exe”,打開(kāi)“安裝向?qū)g迎”對(duì)話(huà)框。(2)單擊“下一步”按鈕彈出“選擇安裝地址”對(duì)話(huà)框,設(shè)置虛擬目錄為Security,其他各項(xiàng)都使用默認(rèn)值,如圖所示。 4116.2 案例完成步驟16.2.4 打包與安裝網(wǎng)站 (3)單擊“下一步”
18、按鈕彈出“確認(rèn)安裝”對(duì)話(huà)框,單擊“下一步”按鈕進(jìn)行項(xiàng)目安裝,項(xiàng)目安裝完成后,彈出“安裝完成”對(duì)話(huà)框。(4)單擊“關(guān)閉”按鈕,完成項(xiàng)目安裝。項(xiàng)目安裝完成后,在“Internet信息服務(wù)”對(duì)話(huà)框中就會(huì)出現(xiàn)“Security”虛擬目錄,同時(shí)在IIS的主目錄下可以找到“Security”文件夾,該文件夾下就會(huì)有網(wǎng)站運(yùn)行的基本文件。通過(guò)瀏覽器即可訪(fǎng)問(wèn)該網(wǎng)站的相關(guān)頁(yè)面。 4216.3 知識(shí)鏈接16.3.1 SQL注入式攻擊 1什么是SQL注入式攻擊 所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域或頁(yè)面請(qǐng)求的查詢(xún)字符串,欺騙服務(wù)器執(zhí)行惡意的SQL命令。在某些表單中,用戶(hù)輸入的內(nèi)容直接用
19、來(lái)構(gòu)造(或者影響)動(dòng)態(tài)SQL命令,或作為存儲(chǔ)過(guò)程的輸入?yún)?shù),這類(lèi)表單特別容易受到SQL注入式攻擊。 4316.3 知識(shí)鏈接16.3.1 SQL注入式攻擊 2如何有效防范SQL注入式攻擊 (1)對(duì)于動(dòng)態(tài)構(gòu)造SQL查詢(xún)的場(chǎng)合,可以使用下面的方法: 方法一:替換SQL語(yǔ)句中的單引號(hào)。方法二:刪除用戶(hù)輸入內(nèi)容中的所有連字符。防止攻擊者構(gòu)造出類(lèi)如“SELECT * from tb_Users WHERE u_Name = liuzc - AND u_Pass =”之類(lèi)的查詢(xún),因?yàn)檫@類(lèi)查詢(xún)的后半部分已經(jīng)被注釋掉,不再有效,攻擊者只要知道一個(gè)合法的用戶(hù)登錄名稱(chēng),根本不需要知道用戶(hù)的密碼就可以順利獲得訪(fǎng)問(wèn)權(quán)限。 方法三:對(duì)于用來(lái)執(zhí)行查詢(xún)的數(shù)據(jù)庫(kù)帳戶(hù),限制其權(quán)限。用不同的用戶(hù)帳戶(hù)執(zhí)行查詢(xún)、插入、更新、刪除操作。由于隔離了不同
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 欠費(fèi)整改報(bào)告范文
- 浙江國(guó)企招聘2024浙江清嶺科技有限公司招聘3人筆試參考題庫(kù)附帶答案詳解
- 二零二五年度私募股權(quán)基金自愿退股及退出機(jī)制協(xié)議
- 二零二五年度個(gè)人車(chē)位租賃與停車(chē)場(chǎng)安全監(jiān)控系統(tǒng)合同
- 二零二五年度商務(wù)酒店團(tuán)體入住協(xié)議價(jià)合同樣本
- 廣州市2025年度租賃房屋修繕及維修服務(wù)合同
- 二零二五年度駕校合伙協(xié)議書(shū):駕校與汽車(chē)租賃公司合作合同
- 二零二五年度健康管理項(xiàng)目可行性研究報(bào)告
- 二零二五年度商業(yè)地產(chǎn)租賃合同(含租戶(hù)品牌形象建設(shè))
- 2025年度餐飲娛樂(lè)綜合體商鋪?zhàn)赓U合同
- 2025年湖南水利水電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- (部編版2025新教材)道德與法治一年級(jí)下冊(cè)-第1課《有個(gè)新目標(biāo)》課件
- 廉政從業(yè)培訓(xùn)課件
- 中央2025年中國(guó)科協(xié)所屬單位招聘社會(huì)在職人員14人筆試歷年參考題庫(kù)附帶答案詳解-1
- 2025新 公司法知識(shí)競(jìng)賽題庫(kù)與參考答案
- 大學(xué)生美甲創(chuàng)業(yè)項(xiàng)目路演
- 2025年中國(guó)中煤能源集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2024年湖北省聯(lián)合發(fā)展投資集團(tuán)有限公司人員招聘考試題庫(kù)及答案解析
- 造價(jià)咨詢(xún)服務(wù)方案進(jìn)度計(jì)劃安排及保證措施
- 2024年全國(guó)統(tǒng)一高考英語(yǔ)試卷(新課標(biāo)Ⅰ卷)含答案
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識(shí) CCAA年度確認(rèn) 試題與答案
評(píng)論
0/150
提交評(píng)論