版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本章教學(xué)要點(diǎn)本章要點(diǎn):8-1網(wǎng)站安全登錄技術(shù)8-2網(wǎng)站登錄管理技術(shù)8-3登錄控件及使用8-4頁(yè)面安全訪問技術(shù)8-5
Sql注入攻擊的防范8-6數(shù)據(jù)加密技術(shù)
1思考問題?什么是用戶管理?什么是角色?網(wǎng)站的訪問權(quán)限如何配置?什么是可視化的配置?什么是配置文件?配置文件名為什么?28-1網(wǎng)站安全登錄技術(shù)
38.1.1成員管理和角色管理概念
成員管理和權(quán)限管理,是網(wǎng)站安全管理的重要組成部分。如何確保網(wǎng)站中的重要內(nèi)容不被未授權(quán)的用戶訪問,是網(wǎng)絡(luò)信息安全的重要內(nèi)容。8-1網(wǎng)站安全登錄技術(shù)1、Membership(成員管理).NET2.0中,Membership提供了一整套內(nèi)置的用于用戶管理、身份驗(yàn)證、用戶信任以及數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)的解決方案。因此,在.NET2.0中,可以輕易地使用來(lái)Membership(成員管理)構(gòu)建項(xiàng)目的用戶管理模塊。在開發(fā)的同時(shí),不但可以結(jié)合ASP.NET2.0提供的相關(guān)控件來(lái)實(shí)現(xiàn)用戶管理,也可以在自定義的控件中調(diào)用Membership提供的方法來(lái)進(jìn)行Web驗(yàn)證。48-1網(wǎng)站安全登錄技術(shù)2、Roles(角色管理)Roles(角色管理)與Membership相結(jié)合,構(gòu)成了ASP.NET2.0框架下用戶安全登錄的基礎(chǔ)。如果要讓一個(gè)網(wǎng)站的部分內(nèi)容只提供給擁有特定授權(quán)級(jí)別的用戶瀏覽,或者只讓網(wǎng)站管理員才能進(jìn)入后臺(tái)的特定管理模塊和拒絕其他沒有授權(quán)或授權(quán)級(jí)別不夠的用戶訪問,采用Roles(角色管理)與Membership相結(jié)合的處理辦法,將得到絕佳的效果。58.1.2成員管理的實(shí)現(xiàn)1、身份驗(yàn)證身份驗(yàn)證的4種方式:Windows(默認(rèn)):基于Windows的身份驗(yàn)證,適合于在企業(yè)內(nèi)部Intranet站點(diǎn)中使用。None:不進(jìn)行授權(quán)與身份驗(yàn)證;Form(常用):基于Cookie的身份認(rèn)證機(jī)制,可以自動(dòng)將未經(jīng)身份驗(yàn)證的用戶重定向到自定義的“登錄網(wǎng)頁(yè)”,只有登錄成功后,方可查看特定網(wǎng)頁(yè)內(nèi)容。Passport:通過Microsoft的集中身份驗(yàn)證服務(wù)執(zhí)行。這種認(rèn)證方式適合跨站應(yīng)用,即用戶只需一個(gè)用戶名及密碼就可以訪問任何成員站點(diǎn)。68.1.2成員管理的實(shí)現(xiàn)
在ASP.NET中,通過配置web.config文件來(lái)設(shè)置不同的身份驗(yàn)證方式。在web.config文件中,有一個(gè)<authentiCation>配置節(jié),用于設(shè)置身份驗(yàn)證方式。其格式為:〈system.web><authenticationmode=“Windows|Forms|Passport|None”/></system.web>78.1.2成員管理的實(shí)現(xiàn)
其中,通過mode屬性,配置系統(tǒng)的身份驗(yàn)證方式。例如下列程序,配置的身份驗(yàn)證方式是Windows身份驗(yàn)證方式:〈system.web><authenticationmode=“Windows”/></system.web>
也就是,在本機(jī)操作系統(tǒng)上成功登錄的某個(gè)用戶,也就自動(dòng)有了網(wǎng)站的相對(duì)應(yīng)用的訪問權(quán)限。例如下列程序,配置的身份驗(yàn)證方式Forms身份驗(yàn)證方式:〈system.web><authenticationmode=“Forms”/></system.web>
也就是,在本機(jī)操作系統(tǒng)上成功登錄的用戶,要訪問網(wǎng)站,還必須在網(wǎng)站上登錄,以獲取相關(guān)網(wǎng)站的相應(yīng)訪問權(quán)限。
82、Form身份驗(yàn)證的工作過程當(dāng)用戶要登錄時(shí),需在“登錄網(wǎng)頁(yè)”上填寫一個(gè)表單(一般填寫用戶名和密碼兩項(xiàng))并將表單提交到服務(wù)器。服務(wù)器在接受該請(qǐng)求并驗(yàn)證成功之后,將向用戶的本地計(jì)算機(jī)寫入一個(gè)記載身份驗(yàn)證信息的Cookie。在后續(xù)的瀏覽網(wǎng)頁(yè)中,瀏覽器每次向服務(wù)器發(fā)送請(qǐng)求時(shí)都會(huì)攜帶該Cookie,這樣用戶就可以保持住身份驗(yàn)證狀態(tài)。如圖8-1所示。92、Form身份驗(yàn)證的工作過程Bob希望查看網(wǎng)頁(yè)S1,但匿名用戶不可以訪問這個(gè)頁(yè)面,因此當(dāng)Bob試圖訪問網(wǎng)頁(yè)S1時(shí),服務(wù)器向?yàn)g覽器返回一要求登錄的頁(yè)面W1。
10Web服務(wù)器瀏覽器向Web服務(wù)器發(fā)出讀網(wǎng)頁(yè)S1的請(qǐng)求Internet瀏覽器Web服務(wù)器對(duì)未授權(quán)的用戶發(fā)送登錄網(wǎng)頁(yè)W1工作網(wǎng)頁(yè)S1登錄網(wǎng)頁(yè)W12、Form身份驗(yàn)證的工作過程
11Web服務(wù)器瀏覽器向Web服務(wù)器發(fā)出用戶名和密碼Internet瀏覽器Web服務(wù)器驗(yàn)證后,對(duì)和,向用戶發(fā)送網(wǎng)頁(yè)S1工作網(wǎng)頁(yè)S1工作網(wǎng)頁(yè)S2登錄網(wǎng)頁(yè)W12、Form身份驗(yàn)證的工作過程Bob現(xiàn)在可以正常瀏覽網(wǎng)頁(yè)了?,F(xiàn)在Bob通過S1網(wǎng)頁(yè)上的一個(gè)鏈接查看S2網(wǎng)頁(yè)。在發(fā)送該請(qǐng)求時(shí),Bob的瀏覽器同時(shí)將Cookie的一個(gè)副本發(fā)送到服務(wù)器,讓服務(wù)器知道是Bob想要查看這個(gè)S2網(wǎng)頁(yè)。服務(wù)器通過Cookie知道了Bob的身份,所以按照請(qǐng)求將S2網(wǎng)頁(yè)發(fā)送給Bob。如圖8-3所示。122、Form身份驗(yàn)證的工作過程
13Web服務(wù)器瀏覽器從S1鏈接S2,同時(shí)發(fā)出CookieInternet瀏覽器Web服務(wù)器驗(yàn)證Cooike后,向用戶發(fā)送網(wǎng)頁(yè)S2工作網(wǎng)頁(yè)S1工作網(wǎng)頁(yè)S2登錄網(wǎng)頁(yè)W12、Form身份驗(yàn)證的工作過程如果Bob現(xiàn)在請(qǐng)求站點(diǎn)的首頁(yè)D,瀏覽器仍會(huì)將Cookie和對(duì)首頁(yè)D的請(qǐng)求一起發(fā)送到服務(wù)器,因此即使網(wǎng)頁(yè)不是受限的,Cookie仍會(huì)被傳遞回服務(wù)器。由于首頁(yè)D沒有受到限制,服務(wù)器不會(huì)考慮Cookie,直接忽略它并將首頁(yè)D發(fā)送給Bob。Bob接著返回B網(wǎng)頁(yè)。因?yàn)锽ob本機(jī)上的Cookie仍然是有效的,所以該Cookie仍會(huì)被送回服務(wù)器。服務(wù)器也仍然允許Bob瀏覽這個(gè)B網(wǎng)頁(yè)。148-1網(wǎng)站安全登錄技術(shù)Bob離開計(jì)算機(jī)臨時(shí)接了個(gè)電話。當(dāng)他重新回到計(jì)算機(jī)前時(shí),已經(jīng)超過了20分鐘,Bob現(xiàn)在希望再次瀏覽B網(wǎng)頁(yè),但是他本機(jī)上的Cookie已經(jīng)過期了。服務(wù)器在接收B網(wǎng)頁(yè)請(qǐng)求時(shí)沒有得到Cookie,認(rèn)不出Bob了,所以拒絕這個(gè)請(qǐng)求,而將登錄網(wǎng)頁(yè)W1發(fā)回瀏覽器,Bob必須重新登錄。Cookie默認(rèn)有效時(shí)間是20分鐘,網(wǎng)管員與可修改這個(gè)服務(wù)器上的標(biāo)準(zhǔn)配置。153、用戶的授權(quán)限管理與角色管理授權(quán)是指通過身份驗(yàn)證的用戶是否應(yīng)授予對(duì)特定資源的訪問權(quán)限。在ASP.NET中,有兩種方式來(lái)授予對(duì)給定資源的訪問權(quán)限:文件授權(quán)和URL授權(quán)。(1)文件授權(quán)用于確定用戶是否應(yīng)該具有對(duì)文件的訪問權(quán)限。163、用戶的授權(quán)限管理與角色管理(2)URL授權(quán)是指允許或拒絕某個(gè)用戶或角色(用戶組)對(duì)特定目錄的訪問權(quán)限。在ASP.NET中,配置文件web.config的<authorization>配置節(jié)用于設(shè)置授權(quán)。<authorization》配置節(jié)的allow元素指定允許訪問Web應(yīng)用程序的用戶和角色的信息。deny元素指定禁止訪問Web應(yīng)用程序的用戶和角色的信息。173、用戶的授權(quán)限管理與角色管理〈system.web>〈authorization〉<fallowusers=“Tin”/><allowroles=“Admins”/><denyusers=“?”/>〈/authorization〉</system.web>
其中,users表示用戶,roles表示角色?!埃俊北硎灸涿脩?,“*”表示所有用戶。例子中對(duì)Tin用戶和Admins角色的成員授予訪問權(quán)限,對(duì)所有匿名用戶授予拒絕訪問權(quán)限。什么是角色?表示某一類用戶。角色不是單一用戶,所以,對(duì)角色授權(quán)就是對(duì)一類用戶授權(quán)。184、.net提供程序的配置
ASP.NET提供了Login、LoginName、LoginStatus、CreateUserWizard、ChangePassword和PasswordRecovery控件,用于實(shí)現(xiàn)網(wǎng)站中的用戶管理。其實(shí)真正進(jìn)行用戶管理的是ASP.NET提供的成員資格系統(tǒng)。登錄控件只不過是封裝成員資格的用戶界面。ASP.NET成員資格可以將用戶信息保存在指定的數(shù)據(jù)源中,默認(rèn)是SQLServerExpression。193、用戶的授權(quán)限管理與角色管理因此,第一步準(zhǔn)備工作是檢查保存用戶信息的數(shù)據(jù)源是否準(zhǔn)備妥當(dāng),方法如下。
在VisualStudio.NET集成開發(fā)環(huán)境中,單擊“網(wǎng)站”菜單中的“ASP.NET配置”菜單項(xiàng)。彈出“ASP.NETWeb應(yīng)用程序管理”窗口,如圖8-4、8-5、8-6所示。②單擊“提供程序”,切換到“提供程序”向?qū)ы?yè)面。③單擊“為所有站點(diǎn)管理數(shù)據(jù)選擇同一提供程序”,切換到下一頁(yè)面。④單擊“測(cè)試”。⑤如果出現(xiàn)“已成功建立到數(shù)據(jù)庫(kù)的連接?!?,則說(shuō)明已經(jīng)建立到SQLServerExpression的連接,可以使用其中的數(shù)據(jù)庫(kù)表保存用戶信息。單擊“確定”按鈕,結(jié)束。203、用戶的授權(quán)限管理與角色管理
213、用戶的授權(quán)限管理與角色管理
223、用戶的授權(quán)限管理與角色管理
235、Web用戶的分類網(wǎng)站的用戶分為兩大種:匿名用戶,即非登錄用戶,只能查看網(wǎng)站中的公共網(wǎng)頁(yè)。登錄用戶,不但可以查看公共網(wǎng)頁(yè),還可以訪問受限的網(wǎng)頁(yè)。實(shí)際工作中,更多的情況是,登錄用戶的類別多于一個(gè)。解決的方法就是定義若干用戶組,各組擁有不同權(quán)限,然后再將用戶賬戶添加到恰當(dāng)?shù)慕M中,則此用戶就擁有了該組定義的權(quán)限。245、Web用戶注冊(cè)表案例一個(gè)簡(jiǎn)單的網(wǎng)站用戶分類表如表8-1所示。255、Web用戶注冊(cè)表案例
26用戶名密碼角色說(shuō)明張強(qiáng)134567!網(wǎng)管員可查看所有網(wǎng)頁(yè)李紅234_671用戶只能查指定網(wǎng)頁(yè)朱軍334_671網(wǎng)管員可查看所有網(wǎng)頁(yè)向李434_671用戶只能查指定網(wǎng)頁(yè)李向前534_671用戶只能查指定網(wǎng)頁(yè)5、Web用戶注冊(cè)表案例
用戶的驗(yàn)證實(shí)質(zhì)上是一個(gè)查詢過程。當(dāng)用戶進(jìn)入登錄頁(yè)面時(shí),先要求用戶輸入自己的姓名和密碼,再到用戶注冊(cè)表中去查詢。如果在表中找到了可以匹配的記錄時(shí),說(shuō)明該用戶可以登錄,然后取出用戶對(duì)應(yīng)的角色字段,根據(jù)分配給角色的權(quán)限讓用戶轉(zhuǎn)入相應(yīng)的網(wǎng)頁(yè)。276、網(wǎng)站安全管理的自動(dòng)化ASP.NET2.0中,對(duì)于基于角色的網(wǎng)站安全管理自動(dòng)化程度很高。系統(tǒng)默認(rèn)自動(dòng)產(chǎn)生比表8-1更加完善、規(guī)范的SQLServer2005數(shù)據(jù)庫(kù),保存在網(wǎng)站“App_Data”專用目錄下??梢越柚嚓P(guān)工具及修改相關(guān)配置,將基于角色的網(wǎng)站安全管理建立在SQLServer2005、Access或其他數(shù)據(jù)庫(kù)上;可以利用VisualStudio2008中的“ASP.NET網(wǎng)站管理工具”對(duì)用戶和角色進(jìn)行圖形界面管理。提供了“登錄”相關(guān)的7個(gè)控件,可以方便構(gòu)建用戶認(rèn)證系統(tǒng),例如“登錄”、“注冊(cè)”、“恢復(fù)密碼”等。288.2網(wǎng)站安全登錄案例
一、案例說(shuō)明
1、目的2、分類用戶表3、頁(yè)面組成結(jié)構(gòu)二、建立Web網(wǎng)站1、建立一個(gè)工程文件夾2、啟動(dòng)VS,選擇新建網(wǎng)站,添加一個(gè)名為Default.aspx的頁(yè)面3、切換到“設(shè)計(jì)”視圖4、選擇div控件,生成一個(gè)層5、從工具箱的標(biāo)準(zhǔn)選項(xiàng)卡中選擇linkbutton控件6、添加一個(gè)名為login.aspx的頁(yè)面并在頁(yè)面上加入login控件7、在“解決方案資源管理器”窗中,選添加文件夾和文件ad.aspx.8、雙擊“user1入口”,輸入相關(guān)命令三、配置數(shù)據(jù)庫(kù)1、配置驗(yàn)證類型2、用戶管理3、配置用戶的角色4、配置用戶的訪問規(guī)則5、Web.config文件內(nèi)容分析298.2網(wǎng)站安全登錄案例
一、案例說(shuō)明1、目的
此案例建立一個(gè)Web網(wǎng)站,支持基本角色的授權(quán)訪問策略。應(yīng)用.net提供的安全登錄管理程序,自動(dòng)生成管理系統(tǒng),開發(fā)者基本不用編寫代碼。30基本配置說(shuō)明2、表8-2分類用戶表角色與用戶的關(guān)系是什么?31用戶名密碼角色說(shuō)明張剛134_567User1只可查看網(wǎng)頁(yè)ad.aspx劉進(jìn)234_567User1只可查看網(wǎng)頁(yè)ad.aspx朱軍334_567User2只可查看網(wǎng)頁(yè)us.aspx8.2網(wǎng)站安全登錄案例3、頁(yè)面組成結(jié)構(gòu)32基本配置說(shuō)明4、頁(yè)面文件結(jié)構(gòu)表33每一個(gè)文件夾內(nèi),都生成了一相應(yīng)的配置文件,保護(hù)文件不被非法用戶訪問大
<authorization><allow
roles="user1"/><deny
users="*"/></authorization><authorization><allow
roles="user2"/><deny
users="*"/></authorization>系統(tǒng)生成的sql數(shù)據(jù)庫(kù),用于用戶的管理,
<system.web><roleManager
enabled="true"/><authentication
mode="Forms"/><compilation
debug="true"
targetFramework="4.0"/></system.web>8.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(1)建立一個(gè)工程文件夾code8-F-1。(2)啟動(dòng)VS,選擇新建網(wǎng)站。選擇建立空網(wǎng)站。添加一個(gè)名為Default.aspx的頁(yè)面。如圖8-8所示。348.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(3)單擊“設(shè)計(jì)”按鈕切換到“設(shè)計(jì)”視圖。(4)從工具箱的HTML選項(xiàng)卡中選擇div控件,并把它拖曳到Web頁(yè)面上,生成一個(gè)層。如圖8-9所示。358.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(5)選中層,在“格式”菜單中選擇“位置”菜單項(xiàng),彈出“定位”對(duì)話框,在“定位樣式”中選中“絕對(duì)”,使該層的位置變?yōu)榻^對(duì)定位。拖該層到指定位置。如圖8-10所示。368.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(6)從工具箱的標(biāo)準(zhǔn)選項(xiàng)卡中選擇linkbutton控件,并把它拖到層中。
在“格式”菜單中選擇“位置”菜單項(xiàng),彈出“定位”對(duì)話框,在“定位樣式”中選中“相對(duì)”,拖動(dòng)該控件到指定位置。如圖8-12所示。378.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(7)選中l(wèi)inkbutton控件,擊右鍵,選擇屬性菜單,將其Text履性改為“登錄”。如8-13所示。388.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(8)與上述操作相同,分別在設(shè)計(jì)欄再拖入兩個(gè)linkbutton控件,并將其改名為user1入口和user2入口,如圖8-14所示。398.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(9)添加一個(gè)名為login.aspx的頁(yè)面。在頁(yè)面上加入login控件,如圖8-15所示。408.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(10)在“解決方案資源管理器”窗中中,選中“H:\code8-F-1”,添加文件夾admin并在其中添加網(wǎng)頁(yè)文件ad.aspx.選中“H:\code8-F-1”,添加文件夾use并在其中添加網(wǎng)頁(yè)文件us.aspx,如圖8-16所示。418.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(11)回到首頁(yè),雙擊“user1入口”,輸入一條指令。雙擊“user2入口”,輸入一條指令。雙擊“登錄”,輸入一條指令。如圖8-17所示。428.2網(wǎng)站安全登錄案例三、配置數(shù)據(jù)庫(kù)1、配置驗(yàn)證類型
如下圖4個(gè)步驟,就可完成驗(yàn)證類型的配置,如圖8-21所示。配置完成后,查看主系統(tǒng)的Web.config文件,內(nèi)容如下所示。43三、配置數(shù)據(jù)庫(kù)44三、配置數(shù)據(jù)庫(kù)1、配置驗(yàn)證類型45三、配置數(shù)據(jù)庫(kù)1、配置驗(yàn)證類型配置完成后,查看主系統(tǒng)的Web.config文件,內(nèi)容如下所示。<?xmlversion="1.0"?><configuration>
<system.web>
<authenticationmode="Forms"/>
<compilationdebug="true"targetFramework="4.0"/>
</system.web></configuration>
在默認(rèn)情況下,ASP.NET用戶信息存儲(chǔ)在ASPNETDB.MDF文件中,該文件默認(rèn)為存儲(chǔ)在網(wǎng)站的A
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上半年教師資格考試《中學(xué)綜合素質(zhì)》真題及答案
- 2024-2030年中國(guó)婚慶策劃市場(chǎng)競(jìng)爭(zhēng)力分析發(fā)展策略研究報(bào)告
- 2024-2030年中國(guó)地板抹布融資商業(yè)計(jì)劃書
- 2024-2030年中國(guó)四連體無(wú)塵服商業(yè)計(jì)劃書
- 2024年版施工勞務(wù)非材料供應(yīng)承包合同版
- 2024年版零售商墊資協(xié)議樣式版B版
- 2024年三舊改造建設(shè)項(xiàng)目合作協(xié)議書范本-智慧城市配套3篇
- 2024年小學(xué)二年級(jí)數(shù)學(xué)(北京版)-萬(wàn)以內(nèi)數(shù)的加減法(二)-1教案
- 洛陽(yáng)職業(yè)技術(shù)學(xué)院《視頻編輯》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年德州貨運(yùn)從業(yè)資格模擬考試題
- 李孟潮個(gè)體心理咨詢的操作
- 人工智能課題研究報(bào)告PPT模板
- 支氣管鏡吸痰操作標(biāo)準(zhǔn)
- 概率期末考試試題答案《概率論與數(shù)理統(tǒng)計(jì)B》
- 大學(xué)校園交通規(guī)劃以南京林業(yè)大學(xué)為例
- 山東2023泰安銀行春季校園招聘25人上岸提分題庫(kù)3套【500題帶答案含詳解】
- GB/T 11446.9-2013電子級(jí)水中微粒的儀器測(cè)試方法
- GB 8537-2018食品安全國(guó)家標(biāo)準(zhǔn)飲用天然礦泉水
- GB 31247-2014電纜及光纜燃燒性能分級(jí)
- 斯倫貝謝智能完井工具介紹
- 百詞斬-定語(yǔ)從句課件-(;)
評(píng)論
0/150
提交評(píng)論