Ergebnis 1 bis 6 von 6

Thema: Altes Php Script anpassen

  1. #1
    HTML Newbie
    Registriert seit
    22.07.2010
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Altes Php Script anpassen

    Hallo,

    habe leider nur magere Kenntnisse von PHP und muss ein altes, von einem Ehemaligen, anpassen auf die neue PHP Version. Wurde damals sehr schlampig alles gemacht und ich komme gerade nicht weiter. Habe schon Variablen vordefiniert, Konstanten, Pfadangaben usw. Hier aber ein Problem das ich gerade logisch nicht ganz raffe. Get Methode ist mir klar soweit aber das Zusammenbauen und die Übergabe überfodert mich gerade.

    Aus einem anderen Dok kommt das hier an, kann aber auch ohne Werte aufgerufen werden, d.h. nur die index.php in edit.

    Quellcodeausschnitt:
    <a href=\"edit/index.php?index=edit.php&action=bearbeiten&InvIDDB sel=$InvID\">
    In der Zeile steht also folgendes z.B.:
    URL Blah /edit/index.php?index=edit.php&action=bearbeiten&InvIDDB sel=919

    Nun das Problem. In der Index PHP steht folgendes:
    <?php
    if ($index != "")
    {
    include("$index");
    }
    ?>

    Das ganze haut wohl nicht mehr hin weil $index nicht vordefiniert wurde. Wie mache ich das damit der Wert den ich übergebe nicht verloren geht?
    $index = $_GET["index"]
    $action = $_GET["action"]
    $InvID = $_GET["InvIDDBsel"]
    So und dann irgendwie zusammenstöpseln?

    Naja etwas konfus vielleicht und warscheinlich pille palle aber bei der Hitze ist mein Hirn einfach zu lahm wohl und ich sitze da schon viel zu lange drüber.

    Hier auch mal beide Dateien gepastet:

    http://pastebin.com/3PdHYjan

    Wäre nett wenn mir jemand da weiterhelfen könnte

    Grüße,
    Peter
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Altes Php Script anpassen

    Habe den verlinkten Code gerade nur mal überflogen. Da ist eine Menge sehr unschönes Zeug drin. Im Prinzip würde ich dir raten das lieber komplett neu zu schreiben. Um ein wirklich sauberes Ergebnis zu bekommen ginge das sicherlich schneller als das da alles zu überarbeiten.

    Ich habe gerade nicht die Zeit (und ehrlich gesagt auch nicht so die Lust ) mir das alles genau zu Gemüte zu führen, ist ja jetzt auch nicht soo wenig Code.

    Aber zu deiner konkreten Frage zumindest:
    PHP-Code:
    $index $_GET["index"]
    $action $_GET["action"]
    $InvID $_GET["InvIDDBsel"
    Das hast du grundlegend schonmal richtig erkannt.
    Die Prüfung sollte aber erweitert werden, mindestens um ein file_exists() um zu überprüfen ob die zu includierende Datei überhaupt existiert.
    Außerdem, als schnelle Lösung die schonmal ein wenig Sicherheit gegen manuelle Manipulation der GET-Parameter von Usern liefert, ein array anlegen, welches die Dateinamen enthält die includiert werden dürfen.
    Vor dem include dann halt prüfen ob die Datei includiert werden darf.

    z.B.:
    PHP-Code:
    $allowed_files = ("home.php" "view.php" "edit.php");
    if(isset(
    $_GET['index']) && file_exists($_GET['index']) && in_array($_GET['index'] , $allowed_files)) {
      include(
    $_GET['index']);

    Außerdem dringend erforderlich: Die Verwendung von mysql_real_escape_string() auf alle Daten die vom User kommen und in Datenbank-Queries verwendet werden.
    Also z.b. alle POST- und GET-Daten.


    Mein Beileid übrigens, diesen Code überarbeiten zu müssen. Sowas macht in der Regel nicht gerade Spaß, besonders wenn man sich mit der Sprache nicht gut auskennt. ^^
    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  3. #3
    Unregistriert
    Gast

    Standard AW: Altes Php Script anpassen

    Hallo und Danke schon einmal,

    hauptmerkmal ist erst einmal das Ganze zum Laufen zu bekommen. Ist nur für eine Intranetanwendung gedacht die wieder ins Leben gerufen wurde. Eine Überarbeitung / Sicherheitsanpassung kommt erst danach. Das meiste habe ich bereits zum laufen bekommen, werde morgen vormittag dann deine Vorschläge mal versuchen umzusetzen und hoffe ich renne nicht zu lange gegen eine Wand

    Grüße,
    Peter

  4. #4
    HTML Newbie
    Themenstarter

    Registriert seit
    22.07.2010
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Altes Php Script anpassen

    Hmm super nicht angemeldet gewesen. Das komische ist ja das er mir keine Fehlermeldung ausspuckt sobald ich auf die /edit/index.php zugreifen will (selbst mit ($_GET..)) sondern ich einen HTTP 500 "Die Webseite kann diese Seite nicht anzeigen" zurückbekomme... hmm..

  5. #5
    Bandit
    Gast

    Standard AW: Altes Php Script anpassen

    Noch ein paar Infos zum Umbau: http://www.php.net/manual/de/security.globals.php

  6. #6
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Altes Php Script anpassen

    Zitat Zitat von SinnlosS Beitrag anzeigen
    z.B.:
    PHP-Code:
    $allowed_files = ("home.php" "view.php" "edit.php");
    if(isset(
    $_GET['index']) && file_exists($_GET['index']) && in_array($_GET['index'] , $allowed_files)) {
      include(
    $_GET['index']);

    Sorry, da fehlte natürlich in der ersten Zeile der Funktionsaufruf "array" zur Erstellung des arrays.
    Muss natürlich so aussehen:
    PHP-Code:
    $allowed_files = array("home.php" "view.php" "edit.php");
    if(isset(
    $_GET['index']) && file_exists($_GET['index'])  && in_array($_GET['index'] , $allowed_files)) {
      include(
    $_GET['index']);

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

Ähnliche Themen

  1. Altes Spiel
    Von Unregistriert im Forum Das Forum für Spiele, Fun & Jokes
    Antworten: 0
    Letzter Beitrag: 16.02.2010, 17:39
  2. Login Script anpassen?
    Von V0LuM3 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 11.12.2008, 16:44
  3. design im vms script anpassen
    Von techniko19 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 14.03.2007, 11:10
  4. Antworten: 0
    Letzter Beitrag: 20.01.2007, 13:31
  5. Altes Fertigparkett entfernen
    Von Jochen Schmidt im Forum Off Topic und Quasselbox
    Antworten: 1
    Letzter Beitrag: 20.04.2005, 22:47

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •