簡體   English   中英

保護我的ASP .NET代碼以進行演示?

[英]Secure My ASP .NET Code For Presentation?

我有一個Web應用程序,為了向我的客戶端進行演示,他們要求我將它安裝在本地服務器上以便他們可以測試它,這是我的問題!

有什么方法可以讓我為該服務器唯一發布,我確實提出了一些限制,但我的應用程序中的許多功能都是開放的,因此他們可以從服務器制作磁盤映像並在其他任何地方使用它,

是否有任何方法可以使用,所以我的Web應用程序檢查此服務器是否是相同的服務器(通過硬件ID或任何我不知道的任何東西)然后開始工作!

我看到很多代碼,但它們是用於生成獨特隱藏的勝利形式,但我如何連接到asp .net

編輯

你也可以看看這個,

我正在using system.management class

這是可靠的我的意思是他們獨特嗎?

  private string GetUniqueID()
    {
        string cpuInfo = string.Empty;
        ManagementClass mc = new ManagementClass("win32_processor");
        ManagementObjectCollection moc = mc.GetInstances();

        foreach (ManagementObject mo in moc)
        {
            if (cpuInfo == "")
            {
                //Get only the first CPU's ID
                cpuInfo = mo.Properties["processorID"].Value.ToString();
                break;
            }
        }
        ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""" + "C" + @":""");
        dsk.Get();
        string volumeSerial = dsk["VolumeSerialNumber"].ToString();

        string HardWareUniqueID = volumeSerial + cpuInfo;

        return HardWareUniqueID;
    }

感謝您的回答,提前致謝

如果你想避免讓它“電話回家”,另一種方法是生成某種證書並將其放在機器上。 使用只有您知道的私鑰才能加密計算機名稱和/或IP。 然后讓您的應用程序使用您的公鑰對其進行解密,以驗證是否允許它在此服務器上運行。 沒有人知道您的私鑰將無法創建有效的證書。

你有幾個選擇......

  1. 將您的網站鎖定到您安裝它的單個IP地址。 為了讓您的生活更輕松,請在通用頁面基類中檢查該IP。 (注意,您也可以編寫HTTP處理程序,但基類方法更容易。)

  2. 在應用程序中放置一個“電話回家”電話,每次啟動時都會檢查您的服務器。 這樣,您可以檢查是否已移動它或是否正在運行多個實例。

  3. 使用.NET的內置許可功能(同一個第三方開發人員用於控件等)

  4. 最簡單的...只需加入定時炸彈,讓它們測試幾周,然后自動阻止訪問。 要聰明一點......堅持最后檢查的時間,這樣你就可以判斷他們是否已經回滾了他們的時鍾,試圖獲得更多的使用。

只需確保分發Web應用程序,而不是Web項目,這樣您就可以將代碼分發為已編譯的bumary,而不必分發代碼隱藏文件。 這將繼續窺探,但確實使部署更加痛苦,因為您總是需要重新編譯每次更改(而不是按需編譯)。

我會投入定時炸彈。 實施它是微不足道的。 此外,您的客戶不會認為您不信任他們。 應用程序中的固定評估期非常常見。

在沒有任何用戶訪問權限的情況下為他們提供VMware映像,只允許他們在Web瀏覽器中通過HTTP從外部打開網站。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM