defensive-programming

    0熱度

    3回答

    我正在研究我的第一個asp MVC項目,這個項目最終將在一個可公開訪問的Web服務器上完成(我曾在MVC中的一些內部應用程序中工作過)。我應該考慮哪些技術,實踐(特定於MVC或其他)來提高安全性。 關閉我的頭頂部顯然有AcceptVerb屬性的行動和驗證還有什麼?

    6熱度

    6回答

    聲明:我是一位正在學習編程的非專業人士。從未成爲項目的一部分,也沒有寫入任何超過500行的內容。 我的問題是:防禦性編程是否違反了不重複自己的原則?假設我對防禦性編程的定義是正確的(讓調用函數驗證輸入而不是相反),那麼這對您的代碼是否有害? 舉例來說,這是糟糕的: int foo(int bar) { if (bar != /*condition*/) { //c

    3熱度

    3回答

    我工作的公司正在重新開發外部使用的內部產品。 該產品最初將在C#中使用WPF開發,然後移植到Silverlight。 其中一個焦點是針對惡意攻擊進行編碼,例如, SQL注入等 問題: 誰能推薦指着安全「最佳實踐」文章的網址。 任何人都可以推薦分析工具來分析代碼來識別弱點。如果可能,我們會將該工具包含在我們的持續集成腳本中。

    8熱度

    10回答

    我來自.NET背景,現在涉足Java領域。 目前,我在設計API防禦錯誤輸入方面遇到很大問題。比方說,我有以下代碼(足夠接近): public void setTokens(Node node, int newTokens) { tokens.put(node, newTokens); } 但是,此代碼可能會失敗的原因有兩個: 用戶通過一個null節點。 用戶通過一個無效節點,即一

    9熱度

    2回答

    如果發生錯誤並且功能無法繼續前進,那麼在JavaScript中報告錯誤而不是依賴於空值,以及未定義什麼是一種好方法。我能想到的三種方法: 無能爲力 拋出一個異常 斷言 下面是一個簡單的示例場景 - 這歸功於在通過量的用戶帳戶的功能。函數credit是Account對象的一部分。 這是天真的解決方案。 function credit(amount) { this.balance += am

    1熱度

    2回答

    在Delphi中,如果在構造對象期間發生異常:任何分配的內存將被釋放並引發異常。例如,下面是保證要麼返回一個有效的Camera對象,或者拋出一個異常: Camera c = new Camera(); 你從未必須檢查所生成的變量爲空: Camera c = new Camera(); if (c == null) throw new Exception("Error constru

    0熱度

    4回答

    我討厭編寫使我的軟件更穩固的代碼。這是框架應該完成的事情!那麼,是否有人知道代碼「增強」實用程序,以鞏固代碼? 如果我有這樣的創造自己的東西,它的工作方式如下:當你和一個調試標誌,它會自動添加神奇地「凝固」的代碼爲每個方法編譯代碼: 使用try-catch修改代碼,並在catch中放置Debug.Assert(true)(以便在原始位置捕獲異常)。 記錄每個方法的條目,打印參數的「ToString

    0熱度

    6回答

    對於我的數據結構項目,目標是閱讀提供的文件,其中包含超過10000首帶有明確標記的藝術家,標題和歌詞的歌曲,並且每首歌曲用一行雙引號分隔。我寫這個代碼來解析文本文件,它的工作原理,用了不到3秒 運行時間 閱讀422K行文字 的創建宋對象 加說宋到一個ArrayList 我寫的解析代碼是: if (songSource.canRead()) { //checks to see if file is

    3熱度

    5回答

    在應用程序開發中有一個防禦性編程的概念。如何使用Transact-SQL實現防禦性編程技術並編寫健壯的代碼?

    14熱度

    3回答

    我通常是通過使用下面的代碼文件中的行循環: open my $fh, '<', $file or die "Could not open file $file for reading: $!\n"; while (my $line = <$fh>) { ... } 然而,in answering another question,Evan Carroll編輯我的回答,改變我的wh