人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

CGI圖文詳細(xì)教程(9)編寫安全的CGI腳本

CGI圖文詳細(xì)教程(9)編寫安全的CGI腳本

更新時(shí)間:2022-08-25 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

編寫安全的CGI腳本

  不管在什么時(shí)候,一個(gè)程序與網(wǎng)絡(luò)客戶端聯(lián)系的時(shí)候,就有可能客戶端會(huì)攻擊這個(gè)程序以獲得未授權(quán)的訪問。即使是無惡意地看看你的腳本也會(huì)你的系統(tǒng)的完整型構(gòu)成危險(xiǎn)。出于這種想法,本節(jié)教程將教你編寫安全的腳本以避免任何的攻擊。

  首先要注意eval語句。PERL和Bourne shell語言為用戶提供了一個(gè)eval命令,它允許你構(gòu)造一個(gè)字符串并且有個(gè)注釋器來執(zhí)行這個(gè)字符串。這是一個(gè)不安全的隱患。我們來觀察一下以下的語句,它是用Bource shell編寫的:

eval `echo $QUERY_STRING | awk 'BEGIN{RS="&"} {printf "QS_%s\n",$1}' `

  這條語句將查詢字符串轉(zhuǎn)換未一系列的可變的設(shè)置命令。但是不幸的是,這個(gè)腳本可以通過發(fā)送給它一個(gè)以逗號(hào)”;”開頭的查詢字符串來攻擊。看看這有多么的危險(xiǎn)!

  其次,不要委任客戶端做任何事情。一個(gè)品德好的客戶端將會(huì)避免發(fā)送任何帶有攻擊性的查詢字符串給Bourne shell,這樣就會(huì)避免腳本錯(cuò)誤解釋字符串而導(dǎo)致一些不安全的事情。但是,”防人之心不可無”,對(duì)于哪些品德惡劣的客戶端可能就會(huì)使用一些特殊的字符串來混淆你的腳本以獲得未授權(quán)的訪問。所以一定不要委托客戶端做任何事情。

  還要十分注意popen()和system()的使用。如果你使用任何來自客戶端的數(shù)據(jù)構(gòu)造一個(gè)命令行來調(diào)用popen()或者system(),要確信在任何字符之前加一個(gè)反斜桿,因?yàn)檫@樣會(huì)在調(diào)用函數(shù)之前給Bourne shell以特殊的意義。具體做法你可以利用簡(jiǎn)短的C函數(shù)來實(shí)現(xiàn)。

  最后,為了安全起見,關(guān)閉服務(wù)端附件(SSI)。如果很不幸,你的服務(wù)器支持SSI,那么請(qǐng)一定要為你的腳本目錄關(guān)閉它!這個(gè)SSI可能被客戶端濫用,他們可以偷看到他們發(fā)送的字符串直接輸出的腳本。

  本腳本只是概括性質(zhì)地介紹安全的措施,如果有知道關(guān)于安全和WWW的問題,你可以參見一些WWW安全常見問題文本(FAQ)。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 高碑店市| 新民市| 仁化县| 南郑县| 松滋市| 昌都县| 长武县| 泰来县| 滨海县| 黄梅县| 化州市| 江门市| 商丘市| 黑河市| 曲沃县| 普安县| 凤城市| 喀喇| 丽江市| 五常市| 莫力| 奉化市| 台山市| 靖远县| 云安县| 剑阁县| 仙居县| 德安县| 宁乡县| 哈巴河县| 林周县| 商洛市| 治多县| 滦南县| 宿松县| 五原县| 青龙| 广东省| 普陀区| 吴桥县| 洛川县|