PHP Problem beim Parsen

Dieses Thema im Forum "Web-Know-how für die Homepage" wurde erstellt von Shotbounzs, 19. Dezember 2005.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Shotbounzs

    Shotbounzs Byte

    Registriert seit:
    19. März 2003
    Beiträge:
    57
    ich hab folgende Funktion in einer datei:
    <?
    function getrate($nickname){
    $nickname = implode('',file('http://207.46.203.186/AOM_XPACK/query/query.aspx?%3Cclr%3E%3Ccmd%20v=\'query\'/%3E%3Cco%20g=\'AOM_XPACK\'%20s=\'100\'%20z=\'1.0.3\'%20t=\'time()\'%20U=\'5\'/%3E%3Cqest%20id=\'0\'%20si=\'0\'%20en=\''.$nickname.'\'%20et=\'ZS_Human\'%20md=\'ZS_Supremacy\'%20tp=\'ZS_AllTime\'/%3E%3C/clr%3E'));
    return $nickname;
    }
    ?>

    jetzt wurde aber irgendwas an der servereinstellung von meim provider geändet. vorher hat alles geklappt. jetzt bekomm ich folgende fehlermedlung:

    Warning: file(): URL file-access is disabled in the server configuration in /home/www/web529/html/dlm/cron.php on line 3

    die ham einfach den file-access auf externe dateien abgeschalten. gibts ne möglichkeit, wie ich die information aus dieser xml-datei auf mein webspace bekomme?
     
  2. frajoti

    frajoti Viertel Gigabyte

    Registriert seit:
    5. August 2005
    Beiträge:
    3.670
    Die haben da letztendlich eine riesen Sicherheitslücke geschlossen. Sorry, mir fällt da keine Lösung ein, außer Deinen Privider zu fragen.
     
  3. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.485
    Das ist relativ - mit fsockopen(); kommt man auch bei deaktivierten allow_url_fopen auf eine Zieladresse. Ist halt aufwändiger...

    Gruss, Matthias
     
  4. Shotbounzs

    Shotbounzs Byte

    Registriert seit:
    19. März 2003
    Beiträge:
    57
    warum sicherheitslücke?

    hab hier den beispielcode von php.net.
    was bedeutdet $errno und $errst?

    <?php
    $fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "$errstr ($errno)<br />\n";
    } else {
    fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
    while (!feof($fp)) {
    echo fgets($fp,128);
    }
    fclose($fp);
    }
    ?>

    gibts noch ne andere möglichkeit, weil ich bekomme hier folgende fehler:
    Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in
    No such file or directory (2)
     
  5. frajoti

    frajoti Viertel Gigabyte

    Registriert seit:
    5. August 2005
    Beiträge:
    3.670
    Also mit Sicherheitslücke meinte ich in dem Sinne, wenn es erlaubt ist auf externe Daten zugreifen zu dürfen, kann man damit auch Schadprogramme laden. In schlimmsten Fall ist der Webserver unbrauchbar. Das man das mit fsockopen(); auch lösen kann, war mir nicht bekannt. Wieder was neues dazu gelernt.

    $errst ist die Fehlermeldung, $errno der Fehlercode, in diesem Falle 2. Damit kann man herausfinden, warum die Fehlermeldung auftrat. Hier: No such file or directory: Der Pfad ist nicht vorhanden, die 2 bietet weitere Hilfe. Ich kann aber bei Google nicht finden, was die 2 bedeutet. Möglich wäre: kein Zugriff, falsch geschrieben, nicht gefunden...
     
  6. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.485
    Ne - das funktioniert anders herum. Man verhindert nicht, das man auf fremde Server zugreifen kann, sondern das fremde auf den eigenen zugreifen. Allerdings hilft das nicht, wenn man per Socketverbindung einen Browserzugriff simuliert.

    Gruss, Matthias
     
  7. frajoti

    frajoti Viertel Gigabyte

    Registriert seit:
    5. August 2005
    Beiträge:
    3.670
    Ah, ja. Sorum meinte ich das auch. ;) Aber egal wie rum man das sieht, ist es ein Sicherheitsrisiko. Das es andere Möglichkeiten gibt, daß Fremde auf den eigenen Server zugreifen können, will ich nicht bestreiten.
     
  8. Shotbounzs

    Shotbounzs Byte

    Registriert seit:
    19. März 2003
    Beiträge:
    57
    ja aber ich greife ja nicht direkt auf eine datei im verzeichnis zu. mit implode öffnet der ja sozusagen ne website und übergibt mir den queltext in nen string. Klar ist des Serverlastig. aber ich hatte des in nem cronjob laufen. hat jede stunde 3 sekunden in anspruch genommen. andere webspace anbieter, lassen den zugriff ja auch zu :mad:
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen