亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Web編程防黑,遵循特定的web安全規范

2019-11-18 12:53:11
字體:
來源:轉載
供稿:網友

  web站點不可避免提供了很多同用戶交互的內容,在編寫程序過程中,應非凡注重用戶輸入內容的處理,以及對數據庫的一些操作。闡述本文的目的,在于提醒開發者遵循特定的web編程安全規范,以盡量避免應用程序代碼的安全問題。
  
  對用戶輸入內容的處理遵循三步驟的原則:
  1. 檢查輸入數據是否來自期望的上一級頁面,具體可采用“同步令牌”等技術實現;
  2. 檢查輸入的提交方法是否為post方法;
  3. 檢查用戶輸入數據是否有效合理;
  通過以上三步驟,即可基本防止別有專心者通過精心構造一些字符串來對系統進行攻擊。
  
  一、 處理用戶登錄
  用戶登錄程序主要是需要對用戶輸入的用戶名及口令仔細進行有效性校驗,否則攻擊者可以提交一些非凡數據,假如程序不能過濾掉這些非凡字符,則可能導致危險后果。
  
  1. 對于口令驗證過程,建議采用下列方式
  <1>根據提交的用戶名在數據庫中查找記錄,假如沒有則出錯返回,假如有該用戶,轉步驟<2>;
  <2>將得到的記錄中的口令部分與用戶輸入的口令進行字符串比較,假如一致則答應通過,否則出錯返回;
  
  注重:不要在一條select語句中同時完成對用戶/口令的驗證,以增加潛在的危險攻擊的難度;
  
  2. 用單引號“封裝”用戶輸入數據
  對于php語言寫的代碼,應該在所有由用戶輸入的數據外面封裝上單引號,不管是數值型變量還是字符型變量。構造sql語句是最好采用下列格式:
  $sql_query=”select f1,f2 from table where id=’input_id’ and name=’input_name’”;
  這樣,用戶輸入數據中假如包含單引號等非凡字符,php會自動在其前面增加’/’來取消掉其非凡意義,從而大大降低了安全風險。
  
  同樣,對于j ava語言代碼,在所有可能的情況下,應該使用PReparedstatement和動態sql,即用?符號代表參數,通過preparedstatement的setxxx(如setint, setstring等)方法設置參數,然后執行sql語句,不要養成在每次語句執行前根據參數拼sql語句的習慣。
  
  二、 處理用戶輸入
  除了對登錄的處理,在處理用戶輸入時,還需遵循以下原則:
  
  1. 拒絕任何以斜線開始的內容
  斜線意味著“相對于根”或絕對路徑。用戶很少需要訪問web根目錄之外的數據,這樣他們使用的路徑就是相對于web根目錄,而不是絕對路徑,為安全起見,有必要拒絕任何以斜線開始的內容;
  
  2. 拒絕任何包含單個點(.)和兩個點(..)的序列的內容
  在路徑中單個點(.)和兩個點(..)的序列有非凡含義。單點意味著“相對于當前目錄”,而雙點意味著“相對于當前目錄的父目錄”。有些人可以建立象../../../etc/passwd這樣的串逆向三層,然后向下進入/etc/passwd文件,從而對系統安全造成極大威脅;
  
  3. 在把用戶提交的數據傳送給系統之前,過濾掉如下字符:
  ; < > * & ! # ( ) { } [ ] : ‘ “ /
  此外,還要注重對回車換行符號做過濾處理;
  
  4. 拒絕任何以冒號為第二個字符的內容
  基于nt服務器使用驅動器字母的概念來引用磁盤卷,包含對驅動器的引用的路徑都以一個字母加上一個冒號開頭;
  
  5. 應拒絕任何unc路徑
  基于nt的服務器還支持universal naming conventions(unc)引用,一個unc文件規格指定機器名和一個共享點,其余部分和指定機器上的指定共享點有關。unc文件規格總是以兩個反斜線開頭,編寫程序時應加以注重。
  
  6. 仔細檢查輸入語句,一遍情況拒絕如下命令:
  rm –f
  mail ……
  delete ……
  …… /etc/passwd
  或其它對系統有威脅的操作。
  7. 存儲/刪除密碼
  假如密碼是存儲在 j ava string 對象中的,則直到對它進行垃圾收集或進程終止之前,密碼會一直駐留在內存中。即使進行了垃圾收集,它仍會存在于空閑內存堆中,直到重用該內存空間為止。密碼 string 在內存中駐留得越久,遭到竊聽的危險性就越大。
  
  更糟的是,假如實際內存減少,則操作系統會將這個密碼 string 換頁調度到磁盤的交換空間,因此輕易遭受磁盤塊竊聽攻擊。
  
  為了將這種泄密的可能性降至最低(但不是消除),您應該將密碼存儲在 char 數組中,并在使用后對其置零。(string 是不可變的,所以無法對其置零。)
  
  8. j ava編程的智能序列化
  當為存儲器或傳輸任何私有字段而序列化對象時,缺省情況下,這些對象都呈現在流中。因此,敏感數據很輕易被竊聽??梢允褂?transient 要害字來標記屬性,這樣在流中將忽略該屬性。
  
  三、 處理數值型變量
  所有用戶輸入有關變量都要用單引號包起來(php語言)。
  對所有數值型變量,首先要判定其內容是不是真的數值型(例如可以用is_num()函數),假如不是,就進行出錯處理。為了安全起見,即使是數值型變量,也應當在它的外面包上單引號。
  
  四、 處理出錯信息
  程序員寫程序時,往往設定輸出一些出錯信息,或者借助系統的出錯信息對程序進行調試。在實際應用中,一定要注重替換這些出錯提示信息,以免泄露一些重要的信息給惡意攻擊者。非凡時在程序測試階段,一定要注重用戶輸入錯誤數據后程序的運行結果及報錯信息等。
  
  五、 危險的系統調用
  盡量減少system()、popen()之類的系統調用,非凡是這些調用假如要激活一個系統shell時,更應該仔細檢查其安全性,以免被黑客利用。
  假如不是非凡需要,不要使用system()或者popen()這樣的系統調用,非凡是以用戶輸入的數據作為這些調用的參數的時候。假如沒有對用戶輸入數據進行分析處理,可能會被用來執行系統命令。假如必須使用這些調用,應當過濾掉用戶輸入數據中存在的危險字符: ; & < >等等。
  或者,可以通過一個或多個參數,在不激活一個shell的前提下執行一些命令,達到程序要完成的目的,如用perl寫的如下代碼是安全的:
  system(‘/usr/games/fortune’,’-o’);
  
  也可以用open達到和POPOn相視的效果,但不用激活shell:
  open(fh,’-’)exec(“program”,$arg1,$arg2);
  
  或者用下面的代碼不接受不安全的數據信息,避免被攻擊:
  unless($recipient=/^[/w@/./-]+$/)
  {
  #print out some Html here indicating failure
  exit(1);
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品wwww| 国产精品成人一区二区三区吃奶| 欧美激情第一页xxx| 国产精品午夜一区二区欲梦| 欧美日韩国产色视频| 91日本视频在线| 久久精品国产2020观看福利| 91高清免费在线观看| 欧美另类69精品久久久久9999| 日韩精品在线视频| 日韩欧美在线观看视频| 日韩在线观看成人| 91亚洲精品在线| 亚洲色图50p| 中文字幕日韩免费视频| 国产精品igao视频| 91福利视频在线观看| 搡老女人一区二区三区视频tv| 久久久免费观看| 日本一区二三区好的精华液| 亚洲专区在线视频| 国产精品丝袜视频| 国产精品18久久久久久首页狼| 久久久久久成人精品| 国产精品视频区| 久久久人成影片一区二区三区观看| 久久国产精品久久久| 8x拔播拔播x8国产精品| 亚洲淫片在线视频| 国产精品久久久av久久久| 欧美精品videosex性欧美| 久久天天躁日日躁| 国产成人jvid在线播放| 国产精品久久二区| 亚洲毛片在线观看| 欧美性猛交丰臀xxxxx网站| 亚洲国产精品va在看黑人| 久久影视电视剧免费网站清宫辞电视| 国产999精品久久久| 成人久久精品视频| www欧美xxxx| 欧美自拍大量在线观看| 91精品国产高清自在线看超| 中文欧美在线视频| 欧美性猛交xxxx乱大交| 国产欧美一区二区白浆黑人| 国产精品久久久久91| www.欧美视频| 欧美日韩美女在线观看| 国产做受69高潮| 国产成人亚洲综合青青| 久久久国产精彩视频美女艺术照福利| 亚洲综合精品一区二区| 欧美人在线观看| 欧美激情视频网| 国产亚洲精品久久久优势| 狠狠操狠狠色综合网| 全球成人中文在线| 久久久精品电影| 亚洲精品美女久久久| 成人中心免费视频| 成人黄色片在线| 91久久精品国产91性色| 日韩欧美在线国产| 欧美视频在线看| 亚洲欧洲免费视频| 亚洲久久久久久久久久久| 国产精品一区久久| 6080yy精品一区二区三区| 久久久久久久久久久久久久久久久久av| 国内精品久久影院| 欧美区二区三区| 国产97人人超碰caoprom| 68精品久久久久久欧美| 精品女厕一区二区三区| 青青精品视频播放| 国产97在线|日韩| 国产欧美日韩综合精品| 亚洲bt天天射| 亚洲天堂av电影| 亚洲色图综合久久| 日韩美女在线播放| 国产91精品久| 亚洲精品乱码久久久久久金桔影视| 黑人极品videos精品欧美裸| 精品成人乱色一区二区| 亚洲精品国产成人| 亚洲国产成人91精品| 日韩中文在线不卡| 国产日韩欧美成人| 国产亚洲精品91在线| 好吊成人免视频| 亚洲欧美变态国产另类| 亚洲高清久久久久久| 亚洲精品国产综合区久久久久久久| 国产精品www| 中文亚洲视频在线| 欧美激情视频在线观看| 91成人天堂久久成人| 国产原创欧美精品| 国产美女精品免费电影| 日本一区二区在线播放| 日韩中文字幕国产精品| 红桃av永久久久| 亚洲欧美日韩中文视频| 色偷偷噜噜噜亚洲男人| 久久久99久久精品女同性| 欧美日韩福利电影| 欧美体内谢she精2性欧美| 日本成人在线视频网址| 国产欧美亚洲精品| 欧美性猛交xxxx久久久| 亚洲欧美制服丝袜| 久久成人人人人精品欧| 成人精品在线观看| 韩国19禁主播vip福利视频| 日本久久91av| 亚洲女在线观看| 国产精品久久97| 色偷偷综合社区| 国内精品模特av私拍在线观看| 日韩人在线观看| 亚洲一区中文字幕在线观看| 国产999在线| 国产欧美日韩亚洲精品| 国产不卡av在线免费观看| 欧美一级电影在线| 日韩欧美一区视频| 国产91色在线播放| 亚洲a级在线播放观看| 久久久www成人免费精品| 欧洲永久精品大片ww免费漫画| 欧美日韩亚洲一区二区| 欧美激情中文字幕乱码免费| 欧美影院在线播放| 中文综合在线观看| 亚洲色图35p| 日韩av在线看| 亚洲成人精品视频在线观看| 国产精品久久久久久中文字| 国产欧美日韩精品专区| 成人在线视频网站| 久久久久久亚洲| 亚洲另类图片色| 国产成一区二区| 国产乱人伦真实精品视频| 欧美精品中文字幕一区| 欧美极品少妇xxxxⅹ免费视频| 91在线视频一区| 色综合影院在线| 精品日韩美女的视频高清| 91免费人成网站在线观看18| 亚洲开心激情网| 国产不卡av在线| 欧美在线视频免费| 日韩中文在线不卡| 日韩高清电影免费观看完整| 高清亚洲成在人网站天堂| 国产91在线播放| 国产精品成人免费电影| 亚洲欧洲在线免费| 亚洲永久免费观看| 美女视频黄免费的亚洲男人天堂| 亚洲在线视频观看|