[SOLVED] Fertigen Code verbessern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [SOLVED] Fertigen Code verbessern

    Hi zusammen,

    Folgenden Code habe ich mir geschrieben, sicherlich gibt es da eine Menge zu verbessern, und genau diese Vorschläge / Ergänzungen hätte ich nun gerne, was kann man anders / besser machen?

    Der Code tut folgendes:

    1. Er holt eine Liste von Transactionid's ab
    2. Für jede Transactionid gibt es weitere Daten (geliefert als Array im Object)
    3. Diese Einzelnen Daten werden ausgelesen.
    4. Es wird ein PDF gespeichert (BASE64_DECODE)
    5- Es werden einige Dinge in ein Logfile geschrieben.
    6. Die Daten werden in eine MySQL geschrieben.

    Das ist es im großen und ganzen. Vielleicht sieht auch jemand einen Fehler / eine Lücke.

    Quellcode

    1. customerID = $cusid;
    2. $send->password = $cuspw;
    3. $send->dnis = $dnis;
    4. $res = $client->GetInboundList($send);
    5. $res = get_object_vars($res->GetInboundListResult);
    6. $res = $res[string];
    7. if(is_string($res) == "TRUE"){$res = array($res);}
    8. //Variablendeklarierung für die Elemente des Callbacks aus dem Webservice Request
    9. foreach($res as $key => $bez)
    10. {
    11. $send->msgId = $bez;
    12. $res = $client->GetInboundByID($send);
    13. $result = get_object_vars($res->GetInboundByIDResult);
    14. foreach($result as $key => $bez)
    15. {
    16. $details = get_object_vars($res->GetInboundByIDResult->Document);
    17. foreach($details as $key => $bez)
    18. {
    19. $array[$key] = $bez;
    20. }
    21. }
    22. if($array[ContentType] = "application/pdf"){$exten = ".pdf";}
    23. if($array[ContentType] = "application/tif"){$exten = ".tif";}
    24. $message = base64_decode($array[FileData]);
    25. createfile($message,$filepath,$array[TransactionID],$exten);
    26. unset($array['FileData']);
    27. foreach($array as $arrname => $val)
    28. {$message1 .= $arrname." - ".$val."\r\n";}
    29. $filename = $array[TransactionID].$exten;
    30. // Hier werden die Daten in die MySQL eingetragen.
    31. dbconnect();
    32. mysql_query("INSERT INTO user_data (customerid,dnis,ani,csid,transactionid,calltime,speed,seconds,pages,filename,contenttype)
    33. VALUES ('$result[CustomerID]','$array[DNIS]','$array[ANI]','$array[CSID]','$array[TransactionID]','$array[CallTime]',
    34. '$array[Speed]','$array[Seconds]','$array[Pages]','$filename','$array[ContentType]')");
    35. // Hier werden die Details für das Logfile generiert
    36. createfile($message1,$logpath,$array[TransactionID],".txt");
    37. unset($message1);
    38. }
    39. }
    40. // Hier wird die Funktion fürs abrufen der Faxe gestartet.
    41. $grepfax = getfax();
    42. ?>
    Alles anzeigen


    Danke schonmal fürs drüberschaun.

    Matze
    Das Leben ist binär - du bist eine 1, oder eine 0

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von RealFairPlayer ()

  • Mal davon abgesehen, dass deine Klammerung/Einrückung nicht wirklich Sinn machen - Werden beim mysql_query die Daten des Arrays gar nicht auf Schadecode überprüft sondern einfach eingefügt. Auch, wenn du die Daten von nem Webservice rehälst,dem du vertraust, sollte die Devise trotzdem immer sein: Never trust the client!

    Zusätzlich würde ich assotiative Arrays so schreiben

    Quellcode

    1. $array['bla']
  • Hi!

    Danke für die Tips - habe die Schreibweise der Array's angepasst (was kann eigentlich passieren wenn ich die ' nicht setze?)

    Wie würde denn die Überprüfung von "Schadcode" aussehen? *neugierigschau* - darunter kann ich mir gar nix vorstellen....

    Sonst noch Tips?

    P.S. Die Einrückung finde ich nicht weiter schlimm, man kann es doch eigentlich recht gut lesen, oder? Gerne nehme ich eine verbesserte Form an :)

    Grüße,
    Matze
    Das Leben ist binär - du bist eine 1, oder eine 0