IP Sperre mit Refferer erweitern

klappt leider auch so nicht

PHP:
$sperre=time()-3600;
$jetzt=time();
$ip = getip();

mysql_query("DELETE FROM ipsperre WHERE time<$sperre") or die(mysql_error()); // Löscht Einträge, die veraltet sind

$pruef=mysql_query("SELECT ip FROM ipsperre WHERE ip='$ip'") or die(mysql_error());
if(@!mysql_fetch_array($pruef) && strpos($_SERVER["HTTP_REFERER"], 'google' ) === true ) { 

    mysql_query("INSERT INTO ipsperre (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());
    echo $werbung;

    // IP wurde gefunden
} else { // ansonsten Verweigerung
    echo "";
}
?>

Gibt es vielleicht eine andere Funktion um den referer auszulesen?
 
Lass dir mal per print oder echo ausgeben.

PHP:
print $_SERVER["HTTP_REFERER"];

Ja, werde es in Zukunft den BC Code verwenden nur dachte ich mir bei einer Zeile,
sei das ein wenig Umständlich.
 
Vergleiche bitte mit meinem Quelltext oben.

[phpf]strpos[/phpf] gibt niemals true zurück. Sondern boolean false oder int.
 
Ach, an das hatte ich nicht gedacht.
Ist ja logisch:rolleyes:

Aber aufgrunder der Frage nach richtig oder falsch kommen dann solche Verwierrungen.
 
PHP:
$sperre=time()-3600;
$jetzt=time();
$ip = getip();

mysql_query("DELETE FROM ipsperre WHERE time<$sperre") or die(mysql_error()); // Löscht Einträge, die veraltet sind

$pruef=mysql_query("SELECT ip FROM ipsperre WHERE ip='$ip'") or die(mysql_error());


if(@!mysql_fetch_array($pruef) && strpos($_SERVER["HTTP_REFERER"], 'google' ) === boolean ) { 

    mysql_query("INSERT INTO ipsperre (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());
    echo $werbung;

    // IP wurde gefunden
} else { // ansonsten Verweigerung
    echo "";
}
?>
 
PHP:
$sperre=time()-3600;
$jetzt=time();
$ip = getip();

mysql_query("DELETE FROM ipsperre WHERE time<$sperre") or die(mysql_error()); // Löscht Einträge, die veraltet sind

$pruef=mysql_query("SELECT ip FROM ipsperre WHERE ip='$ip'") or die(mysql_error());

// Test würde ich noch ausgeben
print $_SERVER['HTTP_REFERER'];



// Diese Abfrage sagt aus:
// Wenn ip nicht vorhanden UND REFERER gleich google ist tue
// in geschweiften Klammern



if(@!mysql_fetch_array($pruef) && strpos($_SERVER["HTTP_REFERER"], 'google' ) > -1)   // Wenn der Wert gefunden wurde gibt er einen Integer Zahlen Wert zurück 01234584521 egal.
{ 

    mysql_query("INSERT INTO ipsperre (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());
    echo $werbung;

    // IP wurde gefunden
} else { // ansonsten Verweigerung
    echo "";
}
?>
 
Zuletzt bearbeitet:
Vielen vielen Dank :) Klappt wunderbar :)

Kann ich noch irgendwie einen 2 Referer (falls irgendwann benötigt) hinzufügen ?

wenn ja, geht das so:

PHP:
if(@!mysql_fetch_array($pruef) && strpos($_SERVER["HTTP_REFERER"], 'google' ; 'yahoo' ) > 0)

PS: Werd jetzt mal anfangen php zu lernen
 
Ja, man kann eigentlich soviel erweitern wie man will nur bei einer gewissen Anzahl an REFERER, wird das unübersichtlich und kompliziert!.

PHP:
if(@!mysql_fetch_array($pruef) && ( strpos($_SERVER["HTTP_REFERER"], 'google' ) > -1) || 
(strpos($_SERVER["HTTP_REFERER"], 'yahoo' ) > -1) )
{
// Auszuführendes
}
 
Zurück