internet application programming advanced server customization the xml-rpc server modules are easy to use for basic kinds of distributed computing for examplexml-rpc could be used as protocol for high-level control of other systems on the networkprovided they were all running suitable xml-rpc server more interesting objects can also be passed between systems if you additionally use the pickle module one concern with xml-rpc is that of security by defaultan xml-rpc server runs as an open service on the networkso anyone who knows the address and port of the server can connect to it (unless it' shielded by firewallin additionxml-rpc servers place no limit on the amount of data that can be sent in request an attacker could potentially crash the server by sending an http post request with payload so large as to exhaust memory if you want to address any of these issuesyou will need to customize the xmlrpc server classes or request handlers all of the server classes inherit from tcpserver in the socketserver module thusthe servers can be customized in the same manner as other socket server classes (for exampleadding threadingforkingor validating client addressesa validation wrapper can be placed around the request handlers by inheriting from simplexmlrpcrequesthandler or docxmlrpcrequesthandler and extending the do_post(method here is an example that limits the size of incoming requeststryfrom xmlrpc server import (simplexmlrpcserversimplexmlrpcrequesthandlerexcept importerrorfrom simplexmlrpcserver import (simplexmlrpcserversimplexmlrpcrequesthandlerclass maxsizexmlrpchandler(simplexmlrpcrequesthandler)maxsize * mb def do_post(self)size int(self headers get('content-length', )if size >self maxsizeself send_error( ,"bad request"elsesimplexmlrpcrequesthandler do_post(selfs simplexmlrpcserver(('', ),maxsizexmlrpchandlerif you wanted to add any kind of http-based authenticationit could also be implemented in similar manner lib fl ff