freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

華為技術(shù)有限公司內(nèi)部技術(shù)規(guī)范-資料下載頁(yè)

2025-04-18 08:49本頁(yè)面
  

【正文】 rPattern = ^\\d+$。 //正則表達(dá)式表示是否全為數(shù)字if (! (characterPattern))26 / 37{ (“Invalid Input”)。}規(guī)則 :如果輸入只允許包含某些特定的字符或字符的組合,則使用白名單進(jìn)行輸入校驗(yàn)。說(shuō)明:對(duì)于一些有規(guī)則可循的輸入,如 地址、日期、小數(shù)等,使用正則表達(dá)式進(jìn)行白名單校驗(yàn),這樣比使用黑名單進(jìn)行校驗(yàn)更有效。實(shí)施指導(dǎo): 地址校驗(yàn)的方法:String Address = (Address)。String characterPattern = ^([az09AZ]+[_]?)+[az09AZ]@(([az09AZ]+[_]?)+([az09AZ]+)?\\.)+[azAZ]{2,4}$。 // 正則表達(dá)式if (!(characterPattern)){ (“Invalid Email Address”)。}規(guī)則 :如果輸入為字符串參數(shù)則必須進(jìn)行字符型合法性判斷。說(shuō)明:可定義一個(gè)合法字符集。實(shí)施指導(dǎo):String text = (text)。String characterPattern = ^[AZaz]*$。 //開發(fā)者自行定義字符規(guī)則( 方括號(hào)內(nèi)的字符集)if (! (characterPattern)){ (“Invalid Input”)。}規(guī)則 :校驗(yàn)輸入數(shù)據(jù)的長(zhǎng)度。說(shuō)明:如果輸入數(shù)據(jù)是字符串,必須校驗(yàn)字符串的長(zhǎng)度是否符合要求,長(zhǎng)度校驗(yàn)會(huì)加大攻擊者實(shí)施攻擊的難度。規(guī)則 :校驗(yàn)輸入數(shù)據(jù)的范圍。說(shuō)明:如果輸入數(shù)據(jù)是數(shù)值,必須校驗(yàn)數(shù)值的范圍是否正確,如年齡應(yīng)該為 0~150 之間的27 / 37正整數(shù)。規(guī)則 :禁止通過(guò)字符串串聯(lián)直接使用用戶輸入構(gòu)造可執(zhí)行 SQL 語(yǔ)句。說(shuō)明:禁止通過(guò)字符串串聯(lián)直接使用用戶輸入構(gòu)造可執(zhí)行 SQL 語(yǔ)句,如:string sql = select status from Users where UserName=39。 + + 39。這樣很容易被 SQL 注入攻擊。規(guī)則 :對(duì)于 java/JSP 語(yǔ)言,使用預(yù)編譯語(yǔ)句 PreparedStatement 代替直接的語(yǔ)句執(zhí)行Statement。說(shuō)明:使用預(yù)編譯語(yǔ)句 PreparedStatement,類型化 SQL 參數(shù)將檢查輸入的類型,確保輸入值在數(shù)據(jù)庫(kù)中當(dāng)作字符串、數(shù)字、日期或 boolean 等值而不是可執(zhí)行代碼進(jìn)行處理,從而防止 SQL 注入攻擊。而且,由于 PreparedStatement 對(duì)象已預(yù)編譯過(guò),所以其執(zhí)行速度要快于 Statement 對(duì)象。因此,多次執(zhí)行的 SQL 語(yǔ)句經(jīng)常創(chuàng)建為 PreparedStatement 對(duì)象,還可以提高效率。實(shí)施指導(dǎo):參考如下代碼:String inssql = insert into buy(empid, name, age, birthday) values (?,?,?,?)。PreparedStatement stmt = null。stmt = (inssql)。 (1, empid)。(2, name)。 (3, age)。(4, birthday)。()。備注:使用 like 進(jìn)行模糊查詢時(shí),如果直接用select * from table where ment like %?%,程序會(huì)報(bào)錯(cuò),必須采用如下方法String express = select * from table where ment like ?。pstmt = (express)。String c=hello。(1, %+c+%)。//參數(shù)自動(dòng)添加單引號(hào),最后的 SQL 語(yǔ)句為:select * from table where ment like 28 / 3739。%hello%39。()。規(guī)則 :禁止動(dòng)態(tài)構(gòu)建 XPath 語(yǔ)句。說(shuō)明:和動(dòng)態(tài)構(gòu)建 SQL 一樣,動(dòng)態(tài)構(gòu)建 XPath 語(yǔ)句也會(huì)導(dǎo)致注入漏洞(XPath 注入)。動(dòng)態(tài)構(gòu)建 XPath 語(yǔ)句的例子:public boolean doLogin(String loginID, String password){......XPathExpression expr = (//users/user[loginID/text()=39。+loginID+39。 and password/text()=39。+password+39。 ]/firstname/text())。......}規(guī)則 :在 JavaBean 中禁止使用 property=*進(jìn)行參數(shù)賦值。說(shuō)明:property=*這表明用戶在可見的 JSP 頁(yè)面中輸入的,或是直接通過(guò) Query String 提交的參數(shù)值,將存儲(chǔ)到與參數(shù)名相匹配的 bean 屬性中。例如,網(wǎng)上購(gòu)物程序,一般,用戶是這樣提交請(qǐng)求的: /?newItem=ITEM0105342,如果用戶提交: /?newItem=ITEM0105342amp。balance=0,這樣, balance=0 的信息就被在存儲(chǔ)到了 JavaBean 中了,而 balance 是整個(gè)會(huì)話中用來(lái)存儲(chǔ)總費(fèi)用的,當(dāng)他們這時(shí)點(diǎn)擊“chekout”結(jié)賬的時(shí)候,費(fèi)用就全免了。規(guī)則 :用于重定向的輸入?yún)?shù)不能包含回車和換行字符,以防止 HTTP 響應(yīng)拆分攻擊。說(shuō)明:注意,“回車”字符有多種表示方式(CR = %0d = \r ),“換行”字符有多種表示方式(LF = %0a = \n)。規(guī)則 :如果服務(wù)端代碼執(zhí)行操作系統(tǒng)命令,禁止從客戶端獲取命令。說(shuō)明:如果服務(wù)端代碼中使用 ().exec(cmd)或 ProcessBuilder 等執(zhí)行操作系統(tǒng)命令,那么禁止從客戶端獲取命令;而且最好不要從客戶端獲取命令的參數(shù),如果必須從客戶獲取命令的參數(shù),那么必須采用正則表達(dá)式對(duì)命令參數(shù)進(jìn)行嚴(yán)格的校驗(yàn),以防止命令注入(因?yàn)椋坏目蛻舳双@取命令或參數(shù),通過(guò)。amp。|符號(hào),非常容易構(gòu)造命令注入,危害系統(tǒng))。 輸出編碼規(guī)則 :對(duì)于不可信的數(shù)據(jù),輸出到客戶端前必須先進(jìn)行 HTML 編碼。說(shuō)明:不可信的數(shù)據(jù)(也就是其他業(yè)務(wù)系統(tǒng)生成的未經(jīng)本應(yīng)用程序驗(yàn)證的表數(shù)據(jù)或文件數(shù)29 / 37據(jù)),通過(guò)對(duì)輸出到客戶端的數(shù)據(jù)進(jìn)行編碼,可以防止瀏覽器將 HTML 視為可執(zhí)行腳本,從而防止跨站腳本攻擊。實(shí)施指導(dǎo):JSP 語(yǔ)言可以通過(guò)替換輸出數(shù)據(jù)的特殊字符【amp。 ” ’ ( )%+】為其他表示形式后再輸出給客戶端,例如:%String OutStr = 。OutStr = (amp。,amp。)。OutStr = (,)。OutStr = (,)。OutStr = (\,)。OutStr = (\39。, )。OutStr = (\\(, )。OutStr = (\\), )。(OutStr)。% 語(yǔ)言可以通過(guò) HtmlEncode 方法對(duì) HTML 的輸出進(jìn)行編碼。PHP 語(yǔ)言可以通過(guò) htmlentities 或 htmlspecialchars 方法對(duì) HTML 輸出進(jìn)行編碼。 上傳下載規(guī)則 :必須在服務(wù)器端采用白名單方式對(duì)上傳或下載的文件類型、大小進(jìn)行嚴(yán)格的限制。規(guī)則 :禁止以用戶提交的數(shù)據(jù)作為讀/寫/ 上傳/下載文件的路徑或文件名,以防止目錄跨越和不安全直接對(duì)象引用攻擊。說(shuō)明:建議對(duì)寫/上傳文件的路徑或文件名采用隨機(jī)方式生成,或?qū)? 上傳文件放置在有適當(dāng)訪問(wèn)許可的專門目錄。對(duì)讀/下載文件采用映射表(例如,用戶提交的讀文件參數(shù)為 1,則讀取 file1,參數(shù)為 2,則讀取 file2)。防止惡意用戶構(gòu)造路徑和文件名,實(shí)施目錄跨越和不安全直接對(duì)象引用攻擊。規(guī)則 :禁止將敏感文件(如日志文件、配置文件、數(shù)據(jù)庫(kù)文件等)存放在 Web 內(nèi)容目錄下。30 / 37說(shuō)明:Web 內(nèi)容目錄指的是:通過(guò) Web 可以直接瀏覽、訪問(wèn)的目錄,存放在 Web 內(nèi)容目錄下的文件容易被攻擊者直接下載。 異常處理規(guī)則 :應(yīng)用程序出現(xiàn)異常時(shí),禁止向客戶端暴露不必要的信息,只能向客戶端返回一般性的錯(cuò)誤提示消息。說(shuō)明:應(yīng)用程序出現(xiàn)異常時(shí),禁止將數(shù)據(jù)庫(kù)版本、數(shù)據(jù)庫(kù)結(jié)構(gòu)、操作系統(tǒng)版本、堆棧跟蹤、文件名和路徑信息、SQL 查詢字符串等對(duì)攻擊者有用的信息返回給客戶端。建議重定向到一個(gè)統(tǒng)一、默認(rèn)的錯(cuò)誤提示頁(yè)面,進(jìn)行信息過(guò)濾。規(guī)則 :應(yīng)用程序捕獲異常,并在日志中記錄詳細(xì)的錯(cuò)誤信息。說(shuō)明:記錄詳細(xì)的錯(cuò)誤消息,可供入侵檢測(cè)及問(wèn)題定位。 代碼注釋規(guī)則 :在注釋信息中禁止包含物理路徑信息。規(guī)則 :在注釋信息中禁止包含數(shù)據(jù)庫(kù)連接信息。規(guī)則 :在注釋信息中禁止包含 SQL 語(yǔ)句信息。規(guī)則 :對(duì)于靜態(tài)頁(yè)面,在注釋信息中禁止包含源代碼信息。規(guī)則 :對(duì)于動(dòng)態(tài)頁(yè)面不使用普通注釋,只使用隱藏注釋。說(shuō)明:動(dòng)態(tài)頁(yè)面包括 ASP、PHP、JSP、CGI 等由動(dòng)態(tài)語(yǔ)言生成的頁(yè)面。通過(guò)瀏覽器查看源碼的功能,能夠查看動(dòng)態(tài)頁(yè)面中的普通注釋信息,但看不到隱藏注釋(隱藏注釋不會(huì)發(fā)送給客戶端)。因此,為了減少信息泄漏,建議只使用隱藏注釋。實(shí)施指導(dǎo):form action=%隱藏注釋 1%textarea name=a length=200/textareainput type=submit value=test/form%//隱藏注釋 2 str=(String)(a)。31 / 37/*隱藏注釋 3*/str = (,)。(str)。% 歸檔要求規(guī)則 :版本歸檔時(shí),必須刪除開發(fā)過(guò)程(包括現(xiàn)場(chǎng)定制)中的臨時(shí)文件、備份文件、無(wú)用目錄等。說(shuō)明:惡意用戶可以通過(guò) URL 之類的文件,Web 服務(wù)器會(huì)將這些文件以文本方式呈現(xiàn)給惡意用戶,造成代碼的泄漏,嚴(yán)重威脅 Web 應(yīng)用的安全。實(shí)施指導(dǎo):在 web 應(yīng)用的根目錄下執(zhí)行以下命令:find ./ name *.old o name *.OLD o name *.bak o name *.BAK o name *.temp o name *.tmp o name *.save o name *.backup o name *.orig o name *.000 o name *~ o name *~1 o name *.dwt o name *.tpl o name *.zip o name *.7z o name *.rar o name *.gz o name *.tgz o name *.tar o name *.bz2分析查找到的文件是否臨時(shí)文件、備份文件、無(wú)用文件,如果是則刪除。規(guī)則 :歸檔的頁(yè)面程序文件的擴(kuò)展名必須使用小寫字母。說(shuō)明:很多 Web server 對(duì)大小寫是敏感的,但對(duì)后綴的大小寫映像并沒(méi)有做正確的處理。攻擊者只要在 URL 中將 JSP 文件后綴從小寫變成大寫,Web 服務(wù)器就不能正確處理這個(gè)文件后綴,而將其當(dāng)作純文本顯示。攻擊者可以通過(guò)查看源碼獲得這些程序的源代碼。因此,歸檔的頁(yè)面程序文件的擴(kuò)展名必須使用小寫字母,如 jsp、html、htm、asp 等頁(yè)面程序文件的擴(kuò)展名分別為 jsp、html、htm、asp。規(guī)則 :歸檔的程序文件中禁止保留調(diào)試用的代碼。說(shuō)明:這里的“調(diào)試用的代碼”是指開發(fā)過(guò)程中進(jìn)行臨時(shí)調(diào)試所用的、在 Web 應(yīng)用運(yùn)行過(guò)程中不需要使用到的 Web 頁(yè)面代碼或 servlet 代碼。例如:在代碼開發(fā)過(guò)程中為了測(cè)試一個(gè)添加帳號(hào)的功能,開發(fā)人員臨時(shí)編寫了一個(gè) JSP 頁(yè)面進(jìn)行測(cè)試,那么在歸檔時(shí),該 JSP 頁(yè)面必須刪除,以免被攻擊者利用。32 / 37 其他規(guī)則 :對(duì)于 JSP 語(yǔ)言,所有 servlet 必須進(jìn)行靜態(tài)映射,不允許通過(guò)絕對(duì)路徑訪問(wèn)。說(shuō)明:在 文件中為 servlet 配置 URI 映射,使用 servlet 時(shí),引用它的 URI 映射,而不允許通過(guò)絕對(duì)路徑訪問(wèn)。規(guī)則 :對(duì)客戶端提交的表單請(qǐng)求進(jìn)行合法性校驗(yàn),防止跨站請(qǐng)求偽造攻擊。說(shuō)明:跨站請(qǐng)求偽造(CSRF)是一種挾制終端用戶在當(dāng)前已登錄的 Web 應(yīng)用程序上執(zhí)行非本意的操作的攻擊方法。攻擊者可以迫使用戶去執(zhí)行攻擊者預(yù)先設(shè)置的操作,例如,如果用戶登錄網(wǎng)絡(luò)銀行去查看其存款余額,他沒(méi)有退出網(wǎng)絡(luò)銀行系統(tǒng)就去了自己喜歡的論壇去灌水,如果攻擊者在論壇中精心構(gòu)造了一個(gè)惡意的鏈接并誘使該用戶點(diǎn)擊了該鏈接,那么該用戶在網(wǎng)絡(luò)銀行帳戶中的資金就有可能被轉(zhuǎn)移到攻擊者指定的帳戶中。當(dāng) CSRF 針對(duì)普通用戶發(fā)動(dòng)攻擊時(shí),將對(duì)終端用戶的數(shù)據(jù)和操作指令構(gòu)成嚴(yán)重的威脅;當(dāng)受攻擊的終端用戶具有管理員帳戶的時(shí)候,CSRF 攻擊將危及整個(gè) Web 應(yīng)用程序。實(shí)施指導(dǎo):方法一:為每個(gè)session創(chuàng)建唯一的隨機(jī)字符串,并在受理請(qǐng)求時(shí)驗(yàn)證form action=/ method=post input type=hidden name=randomStr value=%=().getAttribute(randomStr)% ....../form//判斷客戶端提交的隨機(jī)字符串是否正確String randomStr = (String)(randomStr)。if(randomStr == null) randomStr=。if((().getAttribute(randomStr))){//處理請(qǐng)求}else{//跨站請(qǐng)求攻擊,注銷會(huì)話}方法二
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1