Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit SERVER & REMOTE_ADDR

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

  • dev83
    hat ein Thema erstellt Problem mit SERVER & REMOTE_ADDR.

    Problem mit SERVER & REMOTE_ADDR

    Hallo Ihr,

    die Abfrage if($_SERVER["SERVER_ADDR"] == $_SERVER["REMOTE_ADDR"]) respektive if($calling_ip == $server_ip) führt zu Erfolg, wenn das Skript auf einem externen Webspace liegt und via Cron ausgeführt wird und es führt zu keinem Erfolg, wenn das Skript auf dem Cronjobausführenden Server liegt.

    Und das ganze selbst dann, wenn ich $_SERVER["REMOTE_ADDR"] mit "localhost" oder "127.0.0.1" ersetze.

    Lasse ich jedoch die Abfrage über Übereinstimmung der IP weg und wird dann das Skript manuell oder per Cron aufgerufen, läuft es einwandfrei .

    Was mache ich falsch?

    PHP-Code:
    $server_ip $_SERVER["SERVER_ADDR"];
    $calling_ip $_SERVER["REMOTE_ADDR"];
    $user = @$_GET["user"];
    $pass = @$_GET["pass"];

    $sql1 "SELECT * FROM `db_settings` WHERE `token` = 'import' AND `name` = 'user' AND `value` = '$user'";
    $result1 = @mysql_query($sql1);
    $number1 = @mysql_numrows($result1);

    $sql2 "SELECT * FROM `db_settings` WHERE `token` = 'import' AND `name` = 'pass' AND `value` = '$pass'";
    $result2 = @mysql_query($sql2);
    $number2 = @mysql_numrows($result2);

    if((
    $calling_ip == $server_ip) && ($number1 == 1) && ($number2 == 1))
    {
    // do something
    }

    else
    {
    // access denied...


  • lstegelitz
    antwortet
    Bei "entferntem" Script wird der Cron-Job auf eine URL ausgeführt, d.h. ein Webserver ist beteiligt...

    Bei "lokalem" Script wird der Cron-Job mit einem CLI-Interpreter durchgeführt, kein Webserver beteiligt...


    Lass dir mal $_SERVER ausgeben, einmal bei lokaler Durchführung und einmal bei remote - da sollten Unterschiede erkennbar sein...

    Einen Kommentar schreiben:

Lädt...
X