當(dāng)前位置:首頁(yè)文章首頁(yè) IT學(xué)院 IT技術(shù)

教你編寫安全的ASP代碼

作者:  來(lái)源:  發(fā)布時(shí)間:2011-6-28 11:40:26  點(diǎn)擊:


令人遺憾的是,如果是整型數(shù)據(jù)出了語(yǔ)義上的問(wèn)題,沒(méi)有什么東西可以替語(yǔ)義背黑鍋了,所以沒(méi)有了一個(gè)一定程度上通用的解決方案。不過(guò)也不要悲觀,前面就已經(jīng)說(shuō)過(guò),能避開就避開,釜底抽薪不要讓可能有語(yǔ)義問(wèn)題的變量作為輸入好了。

僅僅考慮數(shù)據(jù)庫(kù)安全的話,所有有威脅的語(yǔ)義問(wèn)題都幾乎出在對(duì)數(shù)據(jù)庫(kù)的操作上,那么,我們只要注意update/insert等語(yǔ)句就可以了,如果考慮數(shù)據(jù)內(nèi)容的安全性的話,select也得算上。一般來(lái)說(shuō),特別關(guān)注的是生成的where后面的條件語(yǔ)句,總覺(jué)得條件的語(yǔ)義應(yīng)該是由服務(wù)器端決定的,而不是說(shuō)用戶的輸入是什么就是什么。我的建議是對(duì)于所有的可能出現(xiàn)語(yǔ)義問(wèn)題的整型變量,最好都是Session,當(dāng)然,沒(méi)有進(jìn)行非常深入的研究,或許有人能夠提出像對(duì)付字符串的語(yǔ)義問(wèn)題一樣的有效方法也說(shuō)不一定。不過(guò)話又說(shuō)回來(lái),在語(yǔ)義層面上看對(duì)字符串的過(guò)濾,不能證明它不安全,但是更重要的沒(méi)有人能夠證明它安全,只是大家現(xiàn)在用著沒(méi)有問(wèn)題,也就默認(rèn)了罷了。

若要深入的分析語(yǔ)義,也會(huì)突然冒出一大堆奇怪的東西,所以還是就此打住吧,真切的希望同行之間能夠多一些這方面的交流!

前面說(shuō)的也許更多地會(huì)用在一些對(duì)既有代碼的補(bǔ)救上,如果是從頭開始構(gòu)架一個(gè)軟件的話,上面的僅僅是設(shè)計(jì)上一些參考。所有的漏洞都是源于設(shè)計(jì)上的缺陷,一個(gè)好的軟件應(yīng)該被證明其模型是正確的,這很難但是可以做到。如果你一開始就證明了軟件的正確性,我想也不會(huì)有漏子可以給別人鉆了。

相關(guān)軟件

相關(guān)文章

文章評(píng)論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z