網(wǎng)站安全的一些防范方法(一) |
發(fā)布時(shí)間:2024-10-19 文章來源:本站 瀏覽次數(shù):560 |
黑客進(jìn)犯的類型及阻攔方法:
黑客能采納多種進(jìn)犯方法對(duì)一個(gè)網(wǎng)站進(jìn)行部分或悉數(shù)操控。一般而言,風(fēng)險(xiǎn)的而又常見的是跨站點(diǎn)腳本(XSS,cross-site scripting)和SQL植入(injection) 。
跨站點(diǎn)腳本是一種通過使用網(wǎng)絡(luò)使用程序?qū)用娴陌踩┒,在網(wǎng)頁(yè)中植入歹意代碼的技能。當(dāng)網(wǎng)絡(luò)使用程序處理通過用戶輸入獲得的數(shù)據(jù),并且在回來給終用戶前沒有任何進(jìn)一步的檢查或驗(yàn)證時(shí),這種進(jìn)犯就可能產(chǎn)生。
確保網(wǎng)絡(luò)使用程序不被這種技能侵犯的方法有很多種,在此羅列一些簡(jiǎn)單的方法。
為防止?jié)撛诖跻庾址闹苯又踩,能夠使用一些?shù)據(jù)編碼,例如,PHP中的htmlspecialchars功用;
為防止歹意字符直接植入使用程序代碼,能夠在數(shù)據(jù)庫(kù)端和數(shù)據(jù)輸入之間建一個(gè)“層”;
除掉能夠被插入到表單中的數(shù)據(jù)輸入,如PHP中的strip tags功用。
SQL植入是一種在網(wǎng)絡(luò)使用程序中植入歹意代碼的技能,它使用數(shù)據(jù)庫(kù)層面的安全漏洞以達(dá)到非法操控?cái)?shù)據(jù)庫(kù)目的。這種技能非常強(qiáng)大,它能夠操縱網(wǎng)址(查詢字符串)或其他任何形式(登錄,搜索,電子郵件注冊(cè))以植入歹意代碼。
當(dāng)然,也是有方法防止此類黑客進(jìn)犯的產(chǎn)生的。一種是在前端界面和后端數(shù)據(jù)庫(kù)之間添加一個(gè)“中間層”。 例如,在PHP中,PDO(PHP Data Objects)擴(kuò)展一般與參數(shù)(有時(shí)被稱作placeholder或綁定變量)一起產(chǎn)生效果,而不是直接將用戶輸入做為指令句子。另一種極為簡(jiǎn)單的技能是字符轉(zhuǎn)義,通過這種方法,所有能夠直接影響數(shù)據(jù)庫(kù)結(jié)構(gòu)的風(fēng)險(xiǎn)字符都能夠被轉(zhuǎn)義。例如,參數(shù)中每出現(xiàn)一個(gè)單引號(hào)[‘]必須代之以兩個(gè)單引號(hào)[’‘]來形成一個(gè)有用的SQL字符串。這兩種是常見的,也是能夠采納的,用以防止SQL植入,改進(jìn)網(wǎng)站安全的有用方法。 |
|