Esempio n. 1
0
    def handle(self):
        logFile = open("logs", "a")
        builtins.sendHandler = self
        builtins.init = 1
        essai = 0
        identify = 0
        while essai < 3:
            rec = self.request.recv(1024).strip()
            if len(rec) > 0:
                clair = Securite.vigenere(rec[2:].decode(), clef, "2")
                r = clair.split(";,;")
                password = r[1]
                username = r[0]
                mp = Database.searchUser(username).strip()
                if mp == "invalide":
                    self.sendMsg("L", "identify=0")
                    essai = essai + 1
                else:
                    if hashlib.sha224(password.encode("utf-8")).hexdigest() == mp:
                        identify = 1
                        self.sendMsg("L", "identify=1")
                        logFile.write(username + ";" + datetime.datetime.now().isoformat())
                        break
                    else:
                        self.sendMsg("L", "identify=0")
                        essai = essai + 1
                # print(identify)
            else:
                builtins.init = 0
                print("client deconnecte")
                break

        while 1 and identify == 1:
            suivi = open("suivi", "r")
            nbUser = 0
            for ligne in suivi:
                nbUser = int(ligne.strip())
            nbUser = nbUser + 1
            suivi = open("suivi", "w")
            suivi.write(str(nbUser))
            suivi.close()
            d = self.request.recv(1024).strip()
            if len(d) > 0:
                t = d.decode()
                temp = t.split(";")
                typ = temp[0]
                if typ == "T":
                    data = Securite.vigenere(temp[1], clef, "2")
                    cur_thread = threading.current_thread()
                    typ, answer = Cerveau.analyse(data, username)

                    if username == "florent":
                        answer += " (from" + str(cur_thread.name) + ")"
                    self.sendMsg(typ, answer)
                elif typ == "F":
                    complete = False
                    while not complete:
                        d += self.request.recv(1024).strip()
                        t = d.decode()
                        if re.search(";[A-Za-z]*.\.[A-Za-z]*", t):
                            complete = True
                    temp = t.split(";")
                    data = temp[1]
                    fileName = temp[2]
                    FileManager.convertFileReceive(data, fileName)
                    self.sendMsg("T", "Fichier " + fileName + " bien recu")
            else:
                essai = 0
                identify = 0
                builtins.init = 0
                print("client deconnecte")
                #                Cerveau.cleanHistory()
                break
Esempio n. 2
0
import System
import Reload
import Server
import threading
import time
import builtins
import Mail
import time
import Proxy
import Config

if __name__ == '__main__':
    Proxy.connectProxy("http")
    starttime=time.time()
    print("Initialisation en cours")
    HOST, PORT = Config.address, Config.port
    LS = Server.ThreadedTCPServer((HOST, PORT), Server.ThreadedTCPRequestHandler)
    Securite.init()
    Cerveau.init()
    builtins.init=0
    server_thread = threading.Thread(target=LS.serve_forever)
    server_thread.start()
    print("initialisation réalisé en "+str(time.time()-starttime)+"sec")
    print('Serving')
#    a=System.MyMonitoringThread('Monitoring')
#    a.start()
    b=threading.Thread(None,Reload.verify,None)
    b.start()