2010-07-24 177 views
2

我該如何說服我的客戶extjs可以安全使用? 或 更好,我怎麼能保證我的節目是安全的ExtJS的-3.x中,使數據DONOT進入壞人之手或無法被黑客攻擊或者如果有人通過桌面上的一些工具 下載我的網站的JavaScript我將如何makesure它會不跑和更多? 像SQL注入安全問題extjs

+0

@Robert請不要編輯如此糟糕的舊的,題外話題。 – 2015-10-01 15:16:42

回答

12

bmoeskau的書推薦看起來不錯。我不知道那個頭銜,但我想我會去買它。

基於他的回答的第二部分,您需要確保您完全理解自己在做什麼。請不要冒犯,但您的問題表明您對這些應用程序的工作方式沒有十分完整的掌握。

任何基於Web的應用程序,你不能相信客戶端。如果客戶端是普通的HTML,某種AJAX化的DHTML,完全由ExtJS驅動的應用程序,Flash電影或本地桌面應用程序,則無關緊要。他們都是客戶,而且他們都是輕易腐敗的。

服務器端代碼是你爲自己辯護。總是。沒有例外。永遠。

擔心SQL注入(你應該是)? - 在服務器上防止它。 (如果您正在編寫創建SQL並將其發送到服務器的客戶端代碼,那麼您幾乎肯定會非常非常錯誤)。

需要確保只有某些用戶看到/觸摸某些數據? - 您需要在服務器上建立可靠的身份驗證/授權框架。

你也應該擔心CSRF - 再次,服務器端架構需要進行防範。

任何使用你的應用程序的人都會在他們的本地機器上擁有你所有的Javascript代碼。這是生活中的事實。這正是您永遠不會相信客戶的原因。

幾乎每個可能影響基於ExtJS的應用程序的漏洞都會影響其他應用程序。

因此,您可以告訴您的客戶ExtJS沒有任何其他客戶端技術那麼安全。這是因爲安全性是服務器端代碼的工作,而不是客戶端。

爲了避免這些漏洞,您需要仔細閱讀,理解和編寫代碼。無論您使用的是什麼庫或技術。

5

我會強烈建議this book。您的安全性與您選擇的JS框架無關,幾乎與您的程序員在您的應用程序中遵循的做法有關。

2

來自ExtJs sencha論壇的回覆,給出了任何JS框架的一般化答案。

客戶端代碼,如你所指出的,可以(有點)很容易地使用螢火蟲或其他調試工具操作。對此你沒有辦法做。

搜索論壇討論其他主題,這已經被討論了大約1000次。

關於你的觀點:

1)正如我剛纔所說的,有沒有辦法來防止用戶更改已經渲染到頁面的代碼(或改變服務器的響應)。 (a)不加載用戶不應該訪問的任何代碼,並且(b)確保如果用戶足夠聰明以破解UI,那麼您的服務器層具有必要的安全性到位。

這不是Sencha代碼的缺陷......它是所有Web應用程序中的一個巨大的安全漏洞。

2)同樣,你已經指出你可以縮小/混淆你的代碼......但是如果瀏覽器可以讀取它,你的用戶也可以看到它。不是你可以做的事情。

3)XSS與Sencha框架無關。這是任何網頁都可能存在的漏洞......它取決於您的服務器級安全性,以防止錯誤代碼進入您的數據庫。

4)更多相同。如果用戶可以隨時操作客戶端代碼,則沒有任何東西阻止他們將垃圾數據注入請求。


我說這已經一百萬次(這裏類似的帖子) - 客戶端本質上是不安全。這段時間不會改變,並且與ExtJS無關。你會遇到與jQuery,Dojo或其他工具完全相同的問題。