Path: csiph.com!usenet.pasdenom.info!news.izac.org!reader From: Benoit Izac Newsgroups: fr.comp.lang.python Subject: Re: =?iso-8859-1?Q?int=E9r=EAt?= de la fonction eval ? Date: Sat, 05 Dec 2020 08:59:43 +0100 Message-ID: <871rg4r8cw.fsf@izac.org> References: <87czzqqdmv.fsf@izac.org> Reply-To: benoit.izac@free.fr Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: keg.izac.org; logging-data="11113"; mail-complaints-to="usenet@izac.org" Xref: csiph.com fr.comp.lang.python:3403 Bonjour, Le 05/12/2020 à 05:33, Dominique a écrit dans le message  : >> Donc tu es plutôt à deux doigts de te connecter au réseau car, de >> mémoire, il y a une présentation du module asyncio à la fin. > > Peut-être, je n'ai rien vu à ce sujet. Mais alors, en quoi eval est un > « aimant à failles » ? Je ne vois pas. Tu passes du coq à l'âne. eval() permet d'exécuter n'importe quel code externe au script donc sur lequel tu n'as aucun contrôle. [WARNING: NE PAS ESSAYER !] saisie = input('Entrez une opération : ') print('Le résultat est :', eval(saisie)) Que se passe-il si l'utilisateur saisie la chaîne ci-dessous ? exec('import shutil'), shutil.rmtree('/', ignore_errors=True) Ça va sortir un truc comme : Le résultat est : CATASTROPHIQUE :-( -- Benoit Izac