2013-07-27 25 views
0

我使用Django來開發一個使用我寫的算法的API。Django - 私有代碼 - 向用戶提供哪些文件?

當有人請求一個URL,我的urls.py在views.py供應

頁返回一個JSON字符串調用一個函數。

如果我的算法在我的views.py文件中,或者在我的服務器上的另一個文件中,用戶是否可以查看此文件的內容,然後查看我的算法?

換句話說,當使用Django時,哪些文件將永遠不會提供給用戶,以及哪些文件將是?

有什麼辦法可以阻止某人查看我的算法,如果它在.py文件中?除了修改文件或加密代碼?

謝謝你的時間。

回答

3

Django只提供您明確創建並從視圖返回的響應。沒有一般的能力從它請求文件。

請確保您的源代碼不在您的Web服務器配置爲服務的目錄中,並確保您的settings.pyDEBUGFalse,並且您應該沒問題。哦,以防萬一 - 不要嘗試在生產環境中使用Django開發服務器。

+0

我假設有很多關於獲得項目生產準備的指南? – yonatano

+0

官方文檔及其鏈接的資源相當不錯:https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/ –

+0

您可以在此擴展更多「請確保您的源代碼不在您的Web服務器配置爲從其服務的目錄「。 謝謝。 – yonatano

1

只要沒有人能夠通過shell訪問您的服務器,人們永遠不會看到比您的頁面的實際HTML輸出更多的東西。 .py文件不會顯示給在瀏覽器中請求網址的用戶。

+0

如果用戶在瀏覽器中訪問我的views.py文件,他們不會看到源代碼? .py和PHP文件在這個意義上是相似的嗎? – yonatano

+1

他通常不能直接訪問源文件,因爲Web服務器被配置爲僅提供最終輸出。我會建議閱讀一些基本知識。 – Alp