欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何降低python開發(fā)的項目代碼泄露風(fēng)險

林國瑞2年前13瀏覽0評論

如何降低python開發(fā)的項目代碼泄露風(fēng)險?

python屬于腳本語言,解釋型語言,在python環(huán)境中,直接運行py文件就可以看到結(jié)果,如果項目直接發(fā)布出去,那就是在“裸奔”。所以很有必要對項目代碼加密。

一、先睹為快,看看一個項目發(fā)布的時候,只有幾個文件,

main.py 項目程序入口

setting.py 項目配置

apps 項目模塊

plusins 項目插件目錄

項目發(fā)布目錄一覽

二、創(chuàng)建項目

創(chuàng)建項目 pymod create demo1

cd demo1

創(chuàng)建模塊 pymod add mod1

啟動pycharm 開始編寫功能模塊

一個模塊默認(rèn)由三個文件組成

__init__.py 、 handlers.py 、param_schemas.py

業(yè)務(wù)邏輯主要在handlers.py中編寫

__init__.py

from pymod.blueprint import Blueprint api = Blueprint("/mod1") from .handlers import *

param_schemas.py

schema_sfz = { "type": "object", "required": ["sfz", "nl"], "properties": { "sfz": { "type": "string", "minLength": 18, "maxLength": 18, "description": "身份證明號碼" }, "nl": { "type": "integer", "minimum": 0, "maximum": 150, "description": "年齡" } } }

handlers.py

from . import api from pymod.ext import RequestHandler, params_validate,TrueResponse,FalseResponse from .param_schemas import schema_sfz from pymod.plugins import sfz_check @api.add_route('/hello') class Hello(RequestHandler): def get(self): self.write('Hello World') @params_validate(schema_sfz) def post(self): sfz = self.get_json_arg("sfz") nl =self.get_json_arg("nl") # self.write(TrueResponse(sfz=sfz, nl=nl)) if sfz_check.check_sfzmhm(sfz): self.write(TrueResponse(hint="身份證明號碼驗證通過")) else: self.write(FalseResponse(hint="身份證明號碼驗證失敗"))

三、項目部署

程序調(diào)試 修改setting.py

# 開發(fā)模式下 運行的模塊名稱必須填寫

modules = ["mod1"] modules_config ={ "mod1": { "deny_ip": "", "allow_ip": "*" } }

啟動程序 python main.py

調(diào)試沒有問題,進入發(fā)布模式

在項目目錄下

pymod pack mod1

在target目錄下生成mod1.mod文件,將其復(fù)制到apps目錄中

修改setting.py

# 開發(fā)模式下 運行的模塊名稱必須填寫

modules = []

再次運行 python main.py 測試

一切OK,系統(tǒng)就可以發(fā)布了。

pymod 使用指南,訪問 https://pymod.cn