Ausdruck berechnen lassen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausdruck berechnen lassen

    Ist es möglich "3 + (1-9)^9" als string zu übergeben und php berechnet den ausdruck selbstständig?

    eval() würde mir prinzipiell einfallen, erzeugt aber im Falle, dass der Ausdruck einen Fehler enthält einen Parse error. Das Ergebnis sollte bei Fehlschlagen aber etwas wie false liefern.

    Danke

  • #2
    PHP-Code:
    error_reporting(E_ALL);
    @eval(
    "\$erg=".$_POST['ausdruck'].";");
    if(!isset( 
    $erg))echo "überprüffen sie ihre eingabe";
    else echo 
    "<b>$erg</b>"
    Slava
    bituniverse.com

    Kommentar


    • #3
      boah danke, das @-Zeichen! Na klar!

      Kommentar


      • #4
        mit try{
        }catch()
        kannst du auch abfangen
        Slava
        bituniverse.com

        Kommentar


        • #5
          @Slava: Etwas per POST übergebenes ungeprüft zu eval-len ist aber eine riesiges Sicherheitsloch.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Klar ist das ein Sicherheitsloch, er/sie wollte jetzt nur sicherlich keine Prozedur dafür schreiben. ;-)

            wusste garnicht, dass try/catch-Blöcke in php existieren.

            Die Überprüfung gibt's bereits. Danke euch!!

            Kommentar


            • #7
              Original geschrieben von wahsaga
              @Slava: Etwas per POST übergebenes ungeprüft zu eval-len ist aber eine riesiges Sicherheitsloch.
              natürlich! keine frage.
              Der wollte wissen wie das geht und ich habe es im einfach gezeigt.
              Ich stimme zu, dass ich wenigsten über sicherheitsproblem sagen müsste.
              sorry
              Slava
              bituniverse.com

              Kommentar

              Lädt...
              X