《用戶和數(shù)據(jù)安全性》_第1頁
《用戶和數(shù)據(jù)安全性》_第2頁
《用戶和數(shù)據(jù)安全性》_第3頁
《用戶和數(shù)據(jù)安全性》_第4頁
《用戶和數(shù)據(jù)安全性》_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第9章用戶和數(shù)據(jù)平安性9.1添加和刪除用戶9.2授予權(quán)限和回收權(quán)限9.3界面方式操作用戶與權(quán)限9.4表維護語句精選ppt9.1添加和刪除用戶9.1.1添加用戶可以使用CREATEUSER語法添加一個或多個用戶,并設(shè)置相應(yīng)的密碼。語法格式:CREATEUSERuser[IDENTIFIEDBY[PASSWORD]'password'][,user[IDENTIFIEDBY[PASSWORD]'password']]...其中,user的格式為:'user_name'@'hostname'說明:user_name為用戶名,host_name為主機名,password為該用戶的密碼。在大多數(shù)SQL產(chǎn)品中,用戶名和密碼只由字母和數(shù)字組成。使用自選的IDENTIFIEDBY子句,可以為賬戶給定一個密碼。特別是要在純文本中指定密碼,需忽略PASSWORD關(guān)鍵詞。如果不想以明文發(fā)送密碼,而且知道PASSWORD()函數(shù)返回給密碼的混編值,那么可以指定該混編值,但要加關(guān)鍵字PASSWORD。CREATEUSER用于創(chuàng)立新的MySQL賬戶。CREATEUSER會在系統(tǒng)本身的mysql數(shù)據(jù)庫的user表中添加一個新記錄。要使用CREATEUSER,必須擁有mysql數(shù)據(jù)庫的全局CREATEUSER權(quán)限或INSERT權(quán)限。如果賬戶已經(jīng)存在,那么出現(xiàn)錯誤。【例9.1】添加兩個新的用戶,king的密碼為queen,palo的密碼為530415。CREATEUSER'king'@'localhost'IDENTIFIEDBY'queen','palo'@'localhost'IDENTIFIEDBY'530415';精選ppt9.1.1添加用戶說明:在用戶名的后面聲明了關(guān)鍵字localhost。這個關(guān)鍵字指定了用戶創(chuàng)立的使用MySQL的連接所來自的主機。如果一個用戶名和主機名中包含特殊符號如“_〞,或通配符如“%〞,那么需要用單引號將其括起?!?〞表示一組主機。如果兩個用戶具有相同的用戶名但主機不同,MySQL將其視為不同的用戶,允許為這兩個用戶分配不同的權(quán)限集合。如果沒有輸入密碼,那么MySQL允許相關(guān)的用戶不使用密碼登錄。但是從平安的角度并不推薦這種做法。剛剛創(chuàng)立的用戶還沒有很多權(quán)限。它們可以登錄到MySQL,但是它們不能使用USE語句來讓用戶已經(jīng)創(chuàng)立的任何數(shù)據(jù)庫成為當前數(shù)據(jù)庫,因此,它們無法訪問那些數(shù)據(jù)庫的表,只允許進行不需要權(quán)限的操作,例如,用一條SHOW語句查詢所有存儲引擎和字符集的列表。精選ppt9.1.2刪除用戶語法格式:DROPUSERuser[,user_name]...DROPUSER語句用于刪除一個或多個MySQL賬戶,并取消其權(quán)限。要使用DROPUSER,必須擁有mysql數(shù)據(jù)庫的全局CREATEUSER權(quán)限或DELETE權(quán)限。【例9.2】刪除用戶TOM。DROPUSERTOM@localhost;如果刪除的用戶已經(jīng)創(chuàng)立了表、索引或其他的數(shù)據(jù)庫對象,它們將繼續(xù)保存,因為MySQL并沒有記錄是誰創(chuàng)立了這些對象。精選ppt9.1.3修改用戶名可以使用RENAMEUSER語句來修改一個已經(jīng)存在的SQL用戶的名字。語法格式:RENAMEUSERold_userTOnew_user,[,old_userTOnew_user]...說明:old_user為已經(jīng)存在的SQL用戶。new_user為新的SQL用戶。RENAMEUSER語句用于對原有MySQL賬戶進行重命名。要使用RENAMEUSER,必須擁有全局CREATEUSER權(quán)限或mysql數(shù)據(jù)庫UPDATE權(quán)限。如果舊賬戶不存在或者新賬戶已存在,那么會出現(xiàn)錯誤?!纠?.3】將用戶king1和king2的名字分別修改為ken1和ken2。RENAMEUSER 'king1'@'localhost'TO'ken1'@'localhost', 'king2'@'localhost'TO'ken2'@'localhost';精選ppt9.1.4修改密碼要修改某個用戶的登錄密碼,可以使用SETPASSWORD語句。語法格式:SETPASSWORD[FORuser]=PASSWORD('newpassword')說明:如果不加FORuser,表示修改當前用戶的密碼。加了FORuser那么是修改當前主機上的特定用戶的密碼,user為用戶名。user的值必須以'user_name'@'host_name'的格式給定。【例9.4】將用戶king的密碼修改為queen1。SETPASSWORDFOR'king'@'localhost'=PASSWORD('queen1');精選ppt9.2授予權(quán)限和回收權(quán)限9.2.1授予權(quán)限新的SQL用戶不允許訪問屬于其他SQL用戶的表,也不能立即創(chuàng)立自己的表,它必須被授權(quán)??梢允谟璧臋?quán)限有以下幾組?!?〕列權(quán)限:和表中的一個具體列相關(guān)。例如,使用UPDATE語句更新表XS學號列的值的權(quán)限?!?〕表權(quán)限:和一個具體表中的所有數(shù)據(jù)相關(guān)。例如,使用SELECT語句查詢表XS的所有數(shù)據(jù)的權(quán)限?!?〕數(shù)據(jù)庫權(quán)限:和一個具體的數(shù)據(jù)庫中的所有表相關(guān)。例如,在已有的XSCJ數(shù)據(jù)庫中創(chuàng)立新表的權(quán)限?!?〕用戶權(quán)限:和MySQL所有的數(shù)據(jù)庫相關(guān)。例如,刪除已有的數(shù)據(jù)庫或者創(chuàng)立一個新的數(shù)據(jù)庫的權(quán)限。給某用戶授予權(quán)限可以使用GRANT語句。使用SHOWGRANTS語句可以查看當前賬戶擁有什么權(quán)限。GRANT語法格式:GRANTpriv_type[(column_list)][,priv_type[(column_list)]]...ON[object_type]{tbl_name|*|*.*|db_name.*}TOuser[IDENTIFIEDBY[PASSWORD]'password'][,user[IDENTIFIEDBY[PASSWORD]'password']]...[WITHwith_option[with_option]...]精選ppt9.2.1授予權(quán)限其中,object_type:TABLE|FUNCTION|PROCEDUREwith_option:GRANTOPTION|MAX_QUERIES_PER_HOURcount|MAX_UPDATES_PER_HOURcount|MAX_CONNECTIONS_PER_HOURcount|MAX_USER_CONNECTIONScount說明:priv_type為權(quán)限的名稱,如SELECT、UPDATE等,給不同的對象授予權(quán)限priv_type的值也不相同。TO子句用來設(shè)定用戶的密碼。ON關(guān)鍵字后面給出的是要授予權(quán)限的數(shù)據(jù)庫或表名,下面將一一介紹。〔1〕授予表權(quán)限和列權(quán)限授予表權(quán)限時,priv_type可以是以下值:●SELECT:給予用戶使用SELECT語句訪問特定的表的權(quán)力。用戶也可以在一個視圖公式中包含表。然而,用戶必須對視圖公式中指定的每個表〔或視圖〕都有SELECT權(quán)限?!馡NSERT:給予用戶使用INSERT語句向一個特定表中添加行的權(quán)力?!馜ELETE:給予用戶使用DELETE語句向一個特定表中刪除行的權(quán)力?!馯PDATE:給予用戶使用UPDATE語句修改特定表中值的權(quán)力。精選ppt9.2.1授予權(quán)限●REFERENCES:給予用戶創(chuàng)立一個外鍵來參照特定的表的權(quán)力?!馛REATE:給予用戶使用特定的名字創(chuàng)立一個表的權(quán)力。●ALTER:給予用戶使用ALTERTABLE語句修改表的權(quán)力?!馡NDEX:給予用戶在表上定義索引的權(quán)力?!馜ROP:給予用戶刪除表的權(quán)力。●ALL或ALLPRIVILEGES:表示所有權(quán)限名。在授予表權(quán)限時,ON關(guān)鍵字后面跟tb1_name,tb1_name為表名或視圖名。【例9.5】授予用戶king在XS表上的SELECT權(quán)限。USEXSCJ;GRANTSELECTONXSTOking@localhost;說明:這里假設(shè)是在ROOT用戶中輸入了這些語句,這樣用戶king就可以使用SELECT語句來查詢XS表,而不管是誰創(chuàng)立的這個表。假設(shè)在TO子句中給存在的用戶指定密碼,那么新密碼將原密碼覆蓋。如果權(quán)限授予了一個不存在的用戶,MySQL會自動執(zhí)行一條CREATEUSER語句來創(chuàng)立這個用戶,但必須為該用戶指定密碼。精選ppt9.2.1授予權(quán)限【例9.6】用戶liu和zhang不存在,授予它們在XS表上的SELECT和UPDATE權(quán)限。GRANTSELECT,UPDATEONXSTOliu@localhostIDENTIFIEDBY'LPWD',zhang@localhostIDENTIFIEDBY'ZPWD';對于列權(quán)限,priv_type的值只能取SELECT、INSERT和UPDATE。權(quán)限的后面需要加上列名column_list?!纠?.7】授予king在XS表上的學號列和姓名列的UPDATE權(quán)限。GRANTUPDATE(姓名,學號) ONXS TOking@localhost;〔2〕授予數(shù)據(jù)庫權(quán)限表權(quán)限適用于一個特定的表。MySQL還支持針對整個數(shù)據(jù)庫的權(quán)限。例如,在一個特定的數(shù)據(jù)庫中創(chuàng)立表和視圖的權(quán)限。授予數(shù)據(jù)庫權(quán)限時,priv_type可以是以下值:●SELECT:給予用戶使用SELECT語句訪問特定數(shù)據(jù)庫中所有表和視圖的權(quán)力?!馡NSERT:給予用戶使用INSERT語句向特定數(shù)據(jù)庫中所有表添加行的權(quán)力?!馜ELETE:給予用戶使用DELETE語句刪除特定數(shù)據(jù)庫中所有表的行的權(quán)力。●UPDATE:給予用戶使用UPDATE語句更新特定數(shù)據(jù)庫中所有表的值的權(quán)力?!馬EFERENCES:給予用戶創(chuàng)立指向特定的數(shù)據(jù)庫中的表外鍵的權(quán)力。精選ppt9.2.1授予權(quán)限●CREATE:給予用戶使用CREATETABLE語句在特定數(shù)據(jù)庫中創(chuàng)立新表的權(quán)力?!馎LTER:給予用戶使用ALTERTABLE語句修改特定數(shù)據(jù)庫中所有表的權(quán)力。●INDEX:給予用戶在特定數(shù)據(jù)庫中的所有表上定義和刪除索引的權(quán)力?!馜ROP:給予用戶刪除特定數(shù)據(jù)庫中所有表和視圖的權(quán)力。●CREATETEMPORARYTABLES:給予用戶在特定數(shù)據(jù)庫中創(chuàng)立臨時表的權(quán)力?!馛REATEVIEW:給予用戶在特定數(shù)據(jù)庫中創(chuàng)立新的視圖的權(quán)力。●SHOWVIEW:給予用戶查看特定數(shù)據(jù)庫中已有視圖的視圖定義的權(quán)力。●CREATEROUTINE:給予用戶為特定的數(shù)據(jù)庫創(chuàng)立存儲過程和存儲函數(shù)等權(quán)力?!馎LTERROUTINE:給予用戶更新和刪除數(shù)據(jù)庫中已有的存儲過程和存儲函數(shù)等權(quán)力。●EXECUTEROUTINE:給予用戶調(diào)用特定數(shù)據(jù)庫的存儲過程和存儲函數(shù)的權(quán)力。●LOCKTABLES:給予用戶鎖定特定數(shù)據(jù)庫的已有表的權(quán)力?!馎LL或ALLPRIVILEGES:表示以上所有權(quán)限名。在GRANT語法格式中,授予數(shù)據(jù)庫權(quán)限時ON關(guān)鍵字后面跟“*〞和“db_name.*〞?!?〞表示當前數(shù)據(jù)庫中的所有表;“db_name.*〞表示某個數(shù)據(jù)庫中的所有表?!纠?.8】授予king在XSCJ數(shù)據(jù)庫中的所有表的SELECT權(quán)限。GRANTSELECTONXSCJ.*TOking@localhost;精選ppt9.2.1授予權(quán)限說明:這個權(quán)限適用于所有已有的表,以及此后添加到XSCJ數(shù)據(jù)庫中的任何表。【例9.9】授予king在XSCJ數(shù)據(jù)庫中所有的數(shù)據(jù)庫權(quán)限。USEXSCJ;GRANTALLON*TOking@localhost;和表權(quán)限類似,授予一個數(shù)據(jù)庫權(quán)限也不意味著擁有另一個權(quán)限。如果用戶被授予可以創(chuàng)立新表和視圖,但是還不能訪問它們。要訪問它們,它還需要單獨被授予SELECT權(quán)限或更多權(quán)限。〔3〕授予用戶權(quán)限最有效率的權(quán)限就是用戶權(quán)限,對于需要授予數(shù)據(jù)庫權(quán)限的所有語句,也可以定義在用戶權(quán)限上。例如,在用戶級別上授予某人CREATE權(quán)限,這個用戶可以創(chuàng)立一個新的數(shù)據(jù)庫,也可以在所有的數(shù)據(jù)庫〔而不是特定的數(shù)據(jù)庫〕中創(chuàng)立新表。MySQL授予用戶權(quán)限時priv_type還可以是以下值?!馛REATEUSER:給予用戶創(chuàng)立和刪除新用戶的權(quán)力。●SHOWDATABASES:給予用戶使用SHOWDATABASES語句查看所有已有的數(shù)據(jù)庫的定義的權(quán)利。精選ppt9.2.1授予權(quán)限在GRANT語法格式中,授予用戶權(quán)限時ON子句中使用“*.*〞,表示所有數(shù)據(jù)庫的所有表?!纠?.10】授予Peter對所有數(shù)據(jù)庫中的所有表的CREATE、ALTERT和DROP權(quán)限。GRANTCREATE,ALTER,DROPON*.*TOPeter@localhostIDENTIFIEDBY'ppwd';【例9.11】授予Peter創(chuàng)立新用戶的權(quán)力。GRANTCREATEUSERON*.*TOPeter@localhost;為了概括權(quán)限,表9.1列出了可以在哪些級別授予某條SQL語句權(quán)限。精選ppt9.2.2權(quán)限的轉(zhuǎn)移和限制GRANT語句的最后可以使用WITH子句。如果指定為WITHGRANTOPTION,那么表示TO子句中指定的所有用戶都有把自己所擁有的權(quán)限授予其他用戶的權(quán)利,而不管其他用戶是否擁有該權(quán)限?!纠?.12】授予David在XS表上的SELECT權(quán)限,并允許其將該權(quán)限授予其他用戶。首先在ROOT用戶下授予David用戶SELECT權(quán)限:GRANTSELECTONXSCJ.XSTODavid@localhostIDENTIFIEDBY'123456'WITHGRANTOPTION;接著,以David用戶身份登錄MySQL,登錄方式為:〔1〕翻開DOS窗口,然后進入mysql安裝目錄下的bin目錄,默認安裝的路徑為:C:\ProgramFiles\MySQL\MySQLServer5.1\bin。〔2〕輸入命令:mysql-hlocalhost-uDavid-p123456。其中-h后為主機名,-u后為用戶名,-p后為用戶密碼。登錄后界面如圖9.1所示。精選ppt9.2.2權(quán)限的轉(zhuǎn)移和限制圖9.1用戶登錄界面登錄后,David用戶只有查詢XSCJ數(shù)據(jù)庫中XS表的權(quán)利,它可以把這個權(quán)限傳遞給其他用戶,這里假設(shè)用戶Jim已經(jīng)創(chuàng)立:GRANTSELECTONXSCJ.XSTOJim@localhost;說明:使用了WITHGRANTOPTION子句后,如果David在該表上還擁有其他權(quán)限,他可以將其他權(quán)限也授予Jim而不僅限于SELECT。精選ppt9.2.2權(quán)限的轉(zhuǎn)移和限制WITH子句也可以對一個用戶授予使用限制,其中,MAX_QUERIES_PER_HOURcount表示每小時可以查詢數(shù)據(jù)庫的次數(shù);MAX_CONNECTIONS_PER_HOURcount表示每小時可以連接數(shù)據(jù)庫的次數(shù);MAX_UPDATES_PER_HOURcount表示每小時可以修改數(shù)據(jù)庫的次數(shù)。例如,某人每小時可以查詢數(shù)據(jù)庫多少次。MAX_USER_CONNECTIONScount表示同時連接MySQL的最大用戶數(shù)。count是一個數(shù)值,對于前三個指定,count如果為0那么表示不起限制作用。【例9.13】授予Jim每小時只能處理一條SELECT語句的權(quán)限。GRANTSELECTONXSTOJim@localhostWITHMAX_QUERIES_PER_HOUR1;除了MAX_QUERIES_PER_HOUR,還可以指定MAX_CONNECTIONS_PER_HOUR、MAX_UPDATES_PER_HOUR和MAX_USER_CONNECTIONS。對于前3個指定,如果值等于0,就沒有限制會起作用。精選ppt9.2.3回收權(quán)限要從一個用戶回收權(quán)限,但不從USER表中刪除該用戶,可以使用REVOKE語句,這條語句和GRANT語句格式相似,但具有相反的效果。要使用REVOKE,用戶必須擁有mysql數(shù)據(jù)庫的全局CREATEUSER權(quán)限或UPDATE權(quán)限。語法格式:REVOKEpriv_type[(column_list)][,priv_type[(column_list)]]...ON{tbl_name|*|*.*|db_name.*}FROMuser[,user]...或者:REVOKEALLPRIVILEGES,GRANTOPTIONFROMuser[,user]...說明:第一種格式用來回收某些特定的權(quán)限,第二種格式回收所有該用戶的權(quán)限?!纠?.14】回收用戶David在XS表上的SELECT權(quán)限。REVOKESELECTONXSFROMDavid@localhost;由于David用戶對XS表的SELECT權(quán)限被回收了,那么包括直接或間接地依賴于它的所有權(quán)限也回收了,在這個例子中,Jim也失去了對XS表的SELECT權(quán)限。但以上語句執(zhí)行之后WITHGRANTOPTION還保存,當再次授予David對于同一個表的表權(quán)限時,它會立刻把這個權(quán)限傳遞給Jim。精選ppt9.3界面方式操作用戶與權(quán)限除了命令行方式,可以通過界面方式來操作用戶與權(quán)限,具體步驟如下?!?〕翻開MySQLAdministrator,以ROOT用戶登錄。進入主界面后單擊UserAdministration欄,界面左下方會出現(xiàn)MySQL的用戶列表,如圖9.2所示。圖9.2用戶列表精選ppt9.3界面方式操作用戶與權(quán)限〔2〕添加用戶。單擊圖9.2中的Addnewuser按鈕,在UserInformation欄上填寫用戶名tony和密碼,單擊“ApplyChanges〞按鈕即可創(chuàng)立新用戶。隨后,界面左下方的用戶列表中就會新添加一個tony用戶,如圖9.3所示。刪除用戶的方法很簡單,右擊用戶名,選擇“DeleteUser〞即可刪除該用戶。圖9.3創(chuàng)立新用戶精選ppt9.3界面方式操作用戶與權(quán)限〔3〕授予用戶權(quán)限。以tony用戶為例,tony用戶創(chuàng)立完后并沒有授予其任何權(quán)限,要授予其權(quán)限,步驟為:選擇tony,單擊SchemaPrivileges欄,選擇要授予權(quán)限的數(shù)據(jù)庫,在AvailablePrivileges框中會出現(xiàn)權(quán)限列表,選擇相應(yīng)權(quán)限,單擊“<〞按鈕,AssignedPrivileges中會出現(xiàn),即可將該權(quán)限授予用戶,如圖9.4所示。要取消權(quán)限,可選擇AssignedPrivileges框中要取消的權(quán)限,單擊“>〞按鈕即可。“<<〞按鈕是添加所有權(quán)限,“>>〞是取消所有權(quán)限。最后單擊“ApplyChanges〞按鈕完成用戶權(quán)限授予。圖9.4授予權(quán)限精選ppt9.4表維護語句9.4.1ANALYZETABLE語句在一個定義了索引的列上,該列上不同值的數(shù)目被稱為該索引列的可壓縮性,可以使用SHOWINDEXFROMtb_name語句來顯示它。一個索引列的可壓縮性不是自動更新的。就是說,用戶在某列創(chuàng)立了一個索引,而該列的可壓縮性是不會立即計算出來的。這時需要使用ANALYZETABLE語句來更新它。語法格式:ANALYZE[LOCAL|NO_WRITE_TO_BINLOG]TABLEtbl_name[,tbl_name]...在MySQL上執(zhí)行的所有更新都將寫入到一個二進制日志文件中。這里如果直接使用ANALYZETABLE語句,結(jié)果數(shù)據(jù)也會寫入日志文件中。如果指定了NO_ERITE_TO_BINLOG選項,那么關(guān)閉這個功能〔LOCAL是NO_ERITE_TO_BINLOG的同義詞〕,這樣ANALYZETABLE語句也將會更快完成?!纠?.15】更新表XS的索引的可壓縮性,并隨后顯示。ANALYZETABLEXS;SHOWINDEXFROMXS;精選ppt9.4.2CHECKTABLE語句這條語句用來檢查一個或多個表是否有錯誤,只對MyISAM和InnoDB表起作用。語法格式:CHECKTABLEtbl_name[,tbl_name]...[option]...其中,option為:QUICK|FAST|MEDIUM|EXTENDED|CHANGED說明:使用該語句有多個選項?!馫UICK:不掃描行,不檢查錯誤的鏈接,這是最快的方法?!馞AST:檢查表是否已經(jīng)正確關(guān)閉?!馛HANGED:檢查上次檢查后被更改的表,以及沒有被正確關(guān)閉的表?!馦EDIUM:掃描行,以驗證被刪除的鏈接是有效的。也可以計算各行的關(guān)鍵字校驗和,并使用計算出的校驗和驗證這一點。●EXTENDED:對每行的所有關(guān)鍵字進行全面的關(guān)鍵字查找。這可以確保表是100%一致的,但是花的時間較長。【例9.16】檢查XS表是否正確。CHECKTABLEXS;結(jié)果為:精選ppt9.4.3CHECKSUMTABLE語句對于數(shù)據(jù)庫中的每一個表,都可以使用CHECKSUMTABLE語句獲得一個校驗和。語法格式:CHECKSUMTABLEtbl_name[,tbl_name]...[QUICK|EXTENDED]說明:如果表是MyISAM表,如果指定了QUICK,那么報告表校驗和,否那么報告NULL。指定EXTEND

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論