2011-07-10 92 views

回答

1

白名單是一個基本的編程概念,關於如何輸入程序被認爲是有效的&好或壞。

白名單:檢查輸入查找有效的條件,如果一切正常,除非一切正常,否則默認放棄操作。

黑名單:檢查輸入是否有錯誤的輸入,如果是,則拒絕;如果存在錯誤則中止該操作,否則繼續執行操作。

可能的壞輸入的境界是無限的,可能的良好的輸入領域是有限的,因此:

白名單檢查輸入這樣

if %w(some valid input).include?(params[:input]) 
    # proceed with action 
else 
    # not in whitelist, throw error 
end 

黑名單:(不這樣做)

if %(some invalid input).include?(params[:input]) 
    # throw error, detected invalid 
else 
    # proceed with action 
end 

總是在可能的情況下應用白名單邏輯高於黑名單。

+0

現在我有 <%= text_field_tag( 'enterBetaCode',:類=> 「betaTextField」)%> <%= submit_tag( '提交',:類=> '按鈕betaSubmitTextField')%> (對不起的間距感到抱歉) 我該如何做到這一點,以便當用戶點擊提交時,它會檢查文本框的輸入是否等於,例如'ABCD'? – Vasseurth

相關問題