Securing SimpleXMLRPCServer?
John Abel
john.abel at pa.press.net
Wed Jul 10 04:02:26 EDT 2002
The revised server code, looks like this:
import sys, os, gzip, smtplib, SimpleXMLRPCServer, string
class AuthenticatingSimpleXMLRPCRequestHandler
(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler):
UnknownIP = 'Error'
def _dispatch( self, method, params ):
print "client_address %s:" % self.client_address
if self.client_address not in
["144.178.233.83","144.178.234.189", "localhost"] :
raise UnknownIP, "Client IP Is Not Authorised"
else:
SimpleXMLRPCServer.SimpleXMLRPCRequestHandler._dispatch(
self, method, params)
def GetFiles(FileRequest):
print FileRequest
RetrFile = open(FileRequest,"r")
FileContents = "Not Found"
for FileLine in RetrFile:
if FileContents == None:
FileContents = FileLine
else:
FileContents = FileContents + FileLine
return FileContents
if __name__== "__main__":
XMLRPCServer = SimpleXMLRPCServer.SimpleXMLRPCServer (
("127.0.0.1",8000), AuthenticatingSimpleXMLRPCRequestHandler )
XMLRPCServer.register_function(GetFiles)
XMLRPCServer.serve_forever()
Thanks again for your help and patience.
Regards
John
More information about the Python-list
mailing list