SSL/通过pythons DataProcess对象远程共享对象的概念方面

SSL/通过pythons DataProcess对象远程共享对象的概念方面,python,security,object,shared,Python,Security,Object,Shared,斯塔克空间的居民们好! 我想学习/详细说明通过远程共享对象方法服务对象 class ContainerFS(): #contains stuffs, has its methods def sync(self): pass def dump(self): stuff() class DataManager(BaseManager): def get_data(self): pass class DataPr

斯塔克空间的居民们好! 我想学习/详细说明通过远程共享对象方法服务对象

class ContainerFS():
    #contains stuffs, has its methods
    def sync(self):
         pass
    def dump(self):
         stuff()

class DataManager(BaseManager):
    def get_data(self):
        pass


class DataProcess(Process):
    def __init__(self, serverobj, authkey, public=False, port=11111):
        Process.__init__(self)
        self.authkey = authkey
        self.Obj = serverobj
        self.daemon = True
        self.port = port
        self.addr = '127.0.0.1'
        if public:
            self.addr = '0.0.0.0'

    def run(self):
        DataManager.register('get_data',
                             callable=lambda: self.Obj)
        manager = DataManager(
            address=(self.addr, self.port),
            authkey=self.authkey)

        srv = datamgr.get_server()
        srv.serve_forever()
ContainerFS类作为serverobj的参数提供。然后,它通过套接字向客户端提供数据

到目前为止,客户机的工作方式如下:

class DataClient(object):
    def __init__(self):
        pass

    def create(self, authkey):
        try:
            DataManager.register('get_data')
            self.m = DataManager(address=('127.0.0.1', 11111), authkey=authkey)
            return True
        except:
            return False

    def connect(self):
        try:
            self.m.connect()
            q = self.m.get_data()
            return q
        except:
            return False
考虑到可以共享任意python对象并以这种方式访问其方法,因此可能会有很多有趣的东西来自于这样的肥沃土壤。因此,如果你有一些好的想法,请把它们混合在一起

我尝试将SocketServer子类化,并让它以这种方式处理SSL,但未能实现。我怎么能用这个东西?如果没有SSL选项,那么使用ssh端口转发是否是一个足够的替代方案

我可以断言serverobj的方法调用在某种程度上是有效的吗。如果是,我应该去哪里:DataProcess、DataManager或serverobj

仍然在做这件事而没有真正理解它。例如,我如何使用这个数据管理器来处理他们的空数据

我觉得以这种方式公开python对象确实不安全。因此,我应该避免自己制作自制的“安全”。我喜欢断言我的想法是错误的,以便通过精化来进行测试。那就是我希望你能进来的地方


如果我不清楚或似乎没有提出任何观点,请指出。我对每件事都还不熟悉。

我认为这个问题是个大问题。它的一部分是关于编程的(在这里可以这样问)。另一方面,您的问题很大一部分与通过TCP安全地共享对象的协议有关,以及与盲目地接受该对象对另一台机器的安全性有关(这不是正确的stackexchange)。我想你应该把你的问题再分成两部分,然后把安全部分贴在。不管怎样,看到这样的帖子真是太棒了,真的很有趣,解释得很好。好吧,非常感谢你提供的信息。作为一个被动的接受者,我已经从中得到了很多。所以我现在参加。我会的。拆分(n)并在这里重新表述剩余部分。。。n可能是3我认为这个问题是个大问题。它的一部分是关于编程的(在这里可以这样问)。另一方面,您的问题很大一部分与通过TCP安全地共享对象的协议有关,以及与盲目地接受该对象对另一台机器的安全性有关(这不是正确的stackexchange)。我想你应该把你的问题再分成两部分,然后把安全部分贴在。不管怎样,看到这样的帖子真是太棒了,真的很有趣,解释得很好。好吧,非常感谢你提供的信息。作为一个被动的接受者,我已经从中得到了很多。所以我现在参加。我会的。拆分(n)并在这里重新表述剩余部分。。。n可能是3