jQuery安全檢測的Issues?
前陣子客戶給的原始碼安全檢測Report中,有說到 jQuery 有以下2個Issue,
Insecure Rndomness 及 Password Management : Hardcoded Password
但因為程式中給的是 .min 的版本,所以看不出來那段Code到底在做什麼。
所以就再給客戶沒壓縮的檔案,請客戶再掃一次,結果內容如下,
Insecure Rndomness Issue
jQuery.extend({
// Unique for each copy of jQuery on the page
// Non-digits removed to match rinlinejQuery
expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ),
//要在Page中產生一個唯一的instance
// We must always have either seed elements or context
elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ),
// Use integer dirruns iff this is the outermost matcher
dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1);
//也是產生唯一的值
由上面2個Issue來看,並不是拿 Math.random 來產生密碼等機密性的資料,所以應該不會有問題吧!
Password Management : Hardcoded Password
// Add button/input type pseudos
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
Expr.pseudos[ i ] = createInputPseudo( i );
}
// 只是寫到 password 這個字而已,並不是存 密碼 !
所以,客戶應該也能理解這些Code應該不會產生那些 issue 吧!
另外,如果客戶要掃的話,最好連非壓縮檔的js也一併給客戶,這樣可以一起比較及清楚。
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^