<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Ok, pardon, už vidím v dokumentaci toto:<div class=""><p class="">This can be used for safely evaluating strings containing Python values from
untrusted sources without the need to parse the values oneself.  It is not
capable of evaluating arbitrarily complex expressions, for example involving
operators or indexing.</p><div class="">Za mě je to šílenost, ale očividně si to tvůrci této metody nemyslí. :shrug:</div><div class=""><br class=""></div><div class="">Lukáš</div><div><br class=""><blockquote type="cite" class=""><div class="">13. 3. 2020 v 19:19, Lukáš Němec <<a href="mailto:lu.nemec@gmail.com" class="">lu.nemec@gmail.com</a>>:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Ahoj,<div class="">Píšeš, že uživatel předá hodnotu „1_1“ která jde následně do literal_eval. Jsi si jistý že to je dobrý nápad? To je přeci totální díra do systému, kde může uživatel executnout libovolný kód. Jestli jste spoléhali na SyntaxError doteď, tak se divím že vás nikdo nehacknul jen for-fun.</div><div class=""><br class=""></div><div class="">Co je to za produkt, že potřebujete „literal_eval“ uživatelského vstupu? NIKDY, NIKDY by neměl být kód z unsafe zdroje předán takovéto funkci.</div><div class=""><br class=""></div><div class="">Lukáš<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">13. 3. 2020 v 17:35, zd nex <<a href="mailto:zdnexnet@gmail.com" class="">zdnexnet@gmail.com</a>>:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">No, ok chápu že to můžu na několika místech zkontrolovat, ale jde o to, že těch míst je dost a hlavně to právě je i konzole. Moc mi nejde do hlavy proč i ten literal_eval to povoluje a ty funkce. Proč to není pouze v py kódu bez uvozovek, ale je to i v řetězci. Když to někdo bude mít v kódu, tak to pravděpodobně nebude řetězec. A jde o to, že toto nové chování bylo přidáno ve verzi 3.6 > není to tam od začátku, pokud by to šlo vypnout v těch funkcích, když je to řetězec, tak by mi to ani nevadilo, ale vlastně to ani nejde změnit.<br class=""></div><div class=""><br class=""></div><div class="">Ano, může to být i otázka na StackOverflow.<br class=""></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">pá 13. 3. 2020 v 17:13 odesílatel Vojtěch Oram <<a href="mailto:flaiming@gmail.com" target="_blank" class="">flaiming@gmail.com</a>> napsal:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div class=""><p class="">Ahoj,<br class="">
      to je asi spíše otázka na StackOverflow než VPSFree community
      list.</p><p class="">Ale podle mě ty hodnoty z uživatelského vstupu budou vždycky
      stringy (pokud to uživatel nevolá jako CLI), takže si to můžeš sám
      ošetřit, než s tím budeš dál něco dělat. Zadání 1_1 a 11 by mělo
      být v pythonu 3 ekvivalentní. <br class="">
    </p><p class="">Vojtěch Oram</p>
    <div class="">Dne 13. 03. 20 v 15:55 zd nex
      napsal(a):<br class="">
    </div>
    <blockquote type="cite" class="">
      
      <div dir="ltr" class="">
        <div class="">Ahojte,</div>
        <div class=""><br class="">
        </div>
        <div class="">mám dotaz na python. Už delší dobu přecházíme na Python3
          (je to složitý a problematický a nemáme žádnou významnou
          funkci co by to opodstatnila). Během té doby jsme našli 2
          chyby (pickle/shelve) v novém Pythonu a nyní jsme našel nový
          hodně velký problém.Je to nová funkce PEP515 podtržítka v
          číslech. Tato funkcionalita zní možná naprosto skvěle pro
          některé lidi, ale nám nyní dělá značnou neplechu. <br class="">
        </div>
        <div class="">Jde o to, že nyní všechny interní funkce jako je
          int/float/literal_eval při předání "1_1" a podobně vytvoří
          číslo 11 a ne SyntaxError. Chápal bych, že tato funkce bude ve
          zdrojovém kódu možná užitečná. Jenže pokud nyní uživatel předá
          "1_1", tak systém pokračuje dál s novým číslem.</div>
        <div class=""><br class="">
        </div>
        <div class="">Moje otázka zní, znáte nějaký postup jak toto chování
          vypnout? Ono se to nezdá ale int/float a literal_eval
          používáme opravdu hodně a všude řešit nějakou takovou kontrolu
          je těžce proveditelné. V minulosti se podobně blbě chovala
          nula na začátku a to naštěstí odstranili, ale nyní přidali
          tuto vlastnost.<br class="">
        </div>
        <div class="">Zkouším hledat na googlu, ale zatím jsem nenašel nic co by
          to umožnilo nějak změnit, ideálně globálně.<br class="">
        </div>
        <div class=""><br class="">
          -- <br class="">
          <div dir="ltr" class="">
            <div dir="ltr" class="">
              <div class="">
                <div dir="ltr" class=""><br class="">
                  Zdenek<br class="">
                  Web: <a href="http://www.pripravto.cz/" target="_blank" class="">www.pripravto.cz</a></div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br class="">
      <fieldset class=""></fieldset>
      <pre class="">_______________________________________________
Community-list mailing list
<a href="mailto:Community-list@lists.vpsfree.cz" target="_blank" class="">Community-list@lists.vpsfree.cz</a>
<a href="http://lists.vpsfree.cz/listinfo/community-list" target="_blank" class="">http://lists.vpsfree.cz/listinfo/community-list</a>
</pre>
    </blockquote></div></blockquote></div></div></div>
_______________________________________________<br class="">Community-list mailing list<br class=""><a href="mailto:Community-list@lists.vpsfree.cz" class="">Community-list@lists.vpsfree.cz</a><br class=""><a href="http://lists.vpsfree.cz/listinfo/community-list" class="">http://lists.vpsfree.cz/listinfo/community-list</a><br class=""></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></body></html>