Ausdruck berechnen lassen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


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

      Comment


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

        Comment


        • #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.

          Comment


          • #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!!

            Comment


            • #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

              Comment

              Working...
              X