av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

黑客 - Python模塊安全權(quán)限

瀏覽:120日期:2022-06-29 09:36:48

問題描述

現(xiàn)在需要開發(fā)一個插件系統(tǒng)。 插件系統(tǒng)所有人都可以編寫PY文件即可加載。但是需要引入主程序的庫 比如

# test.pyfrom lib.function import *...

如何防止用戶訪問lib里面的其他方法或者變量呢?

all 如果加上名稱,我主程序需要調(diào)用所有*的話,可以嗎?

問題解答

回答1:

在python并沒有真正的私有變量或者方法, 所以基本上是無法阻止別人訪問另一個模塊的方法或者變量, 但是如果用戶是通過from lib.function import *, 那么我們可以通過__all__屬性去設(shè)置*能被import指定的變量或方法, 例如:

cat abc.py__all__ = [’bar’]waz = 5bar = 10def baz(): return ’baz’cat b2.pyfrom abc import *print(dir())# 輸出:[’__builtins__’, ’__doc__’, ’__file__’, ’__name__’, ’__package__’, ’bar’]

可以看到在b2.py的輸出, 并沒有bar和baz, 所以我們可以通過這種方式, 來做一個簡單的控制, 當(dāng)然下劃線開頭的私有變量也限制了, 但這種限制對 import abc這種引入方式無效

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 一区二区日韩精品 | 国产精品不卡视频 | 中文字幕a√ | 天天艹| 国产成人精品免费视频大全最热 | 亚洲成人一区二区三区 | 亚洲播放 | 中文字幕日韩一区二区 | 日韩欧美亚洲 | 国产成人午夜精品影院游乐网 | 国产www成人 | 免费一区二区三区 | 精品久久久999 | 精品国产欧美一区二区三区成人 | 国产一区 | 久久不卡 | 一区福利视频 | 欧美性网 | 亚洲人成在线播放 | 中文字幕一区二区在线观看 | 激情欧美一区二区三区中文字幕 | 四虎影音 | 亚洲视频欧美视频 | 国产一级一级毛片 | 精品国产免费一区二区三区五区 | 午夜精品一区二区三区免费视频 | 久久久久国产精品一区二区 | 婷婷色综合 | 欧美精品一区二区三区四区五区 | 欧美中文字幕一区二区三区亚洲 | 极品的亚洲 | 日韩在线免费视频 | 久久精品网 | 久久久精品一区 | 精品日韩在线 | 亚洲精品av在线 | 99视频久 | 日韩一区二区在线播放 | 久久机热 | 波多野结衣一二三区 | 91免费视频观看 |