ERLEDIGT
JA
JA
ANTWORTEN
20
20
ZUGRIFFE
393
393
EMPFEHLEN
-
Hallo, ich habe damals zusammen mit einem anderen User eine IP Sperre programmiert. Klappt auch super, doch möchte ich nun eine kleine Änderung vornehmen und krieg es ohne PHP Kenntnisse nicht hin:
Unzwar habe ich diese Zeile hinzugefügt:
Wie muss diese Zeile richtig lauten ? (anführungszeichen usw.)PHP-Code:$_SERVER["HTTP_REFERER"]='google' // Und wenn der Referer Google ist
Also wenn die IP des Benutzers noch nicht in der Datenbank auftaucht und der Referer Google ist, soll etwas ausgegeben werden:
PHP-Code:$pruef=mysql_query("SELECT ip FROM ipsperre WHERE ip='$ip'") or die(mysql_error());
if(@!mysql_fetch_array($pruef)) { // Wenn die IP nicht gefunden wurde
$_SERVER["HTTP_REFERER"]='google' // Und wenn der Referer Google ist
mysql_query("INSERT INTO ipsperre (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());
echo $zugriff;
// IP wurde gefunden
} else { // ansonsten Verweigerung
echo "kein Zugriff";
}
?>
Geändert von PC Freak (05.11.08 um 17:12 Uhr)
-
Wenn ich dich richtig verstanden habe soll das Skript erweitern, dass noch überprüft wird, ob der Refferer Google ist.
Dann kann es so aussehen:
PHP-Code:$pruef=mysql_query("SELECT ip FROM ipsperre WHERE ip='$ip'") or die(mysql_error());
if(@!mysql_fetch_array($pruef) && $_SERVER["HTTP_REFERER"]=='google' ) {
mysql_query("INSERT INTO ipsperre (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());
echo $zugriff;
// IP wurde gefunden
} else { // ansonsten Verweigerung
echo "kein Zugriff";
}
?>
Würde mich über eine Positive beurteilung freuen.
Zitat von Albert Einstein
-
Soll google in die Datenbank gespeichert werden
Was das stückencode für mich sagt:
Ich vermute du willst wenn es google istPHP-Code:f(@!mysql_fetch_array($pruef)) { // Wenn die IP nicht gefunden wurde
$_SERVER["HTTP_REFERER"]='google';
// Ja IP nicht gefunden setzen wir REFERER auf google.
// Weil es so viel sinn macht speichern wir anschliessend in
// die Datenbank
mysql_query("INSERT INTO ipsperre (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());
echo $zugriff;
das es die Insert abfrage überspringt
Ohne GewährPHP-Code:$pruef=mysql_query("SELECT ip FROM ipsperre WHERE ip='$ip'") or die(mysql_error());
if(@!mysql_fetch_array($pruef) && $_SERVER["HTTP_REFERER"]!='google' ) { // Wenn die IP nicht gefunden wurde
mysql_query("INSERT INTO ipsperre (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());
echo $zugriff;
// IP wurde gefunden
} else { // ansonsten Verweigerung
echo "kein Zugriff";
}
?>
Wenn euch geholfen wurde bitte die Helfer positiv bewerten und das Thema als "erledigt" markieren.
spiele-deals.at dvd-forum.at
-
05.11.08 17:27 #4
Der Referer wird aber nicht nur "google" beinhalten, deshalb empfehle ich eine Prüfung mit strpos().
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Kann sein das mein Vorposter recht hat.
mit der Aussagen logik hab ich es ein bisschen
Ich probier halt gerne
PHP-Code:if(@!mysql_fetch_array($pruef) && $_SERVER["HTTP_REFERER"]!='google' )
oder
if(@!mysql_fetch_array($pruef) && $_SERVER["HTTP_REFERER"]=='google' )
Wenn euch geholfen wurde bitte die Helfer positiv bewerten und das Thema als "erledigt" markieren.
spiele-deals.at dvd-forum.at
-
05.11.08 17:34 #6
Ich meinte eher:
Das würde jetzt prüfen:PHP-Code:if(@!mysql_fetch_array($pruef) && strpos($_SERVER["HTTP_REFERER"], 'google' ) === false )
IP ist nicht in der Datenbank UND der Referer ist nicht Google.
Grundsätzlich solltest du aber bedenken, dass der Referer nicht immer gesetzt ist.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Felix Jacobi hat natürlich Recht zu dem gibt es ja auch noch
msn und und und...Wenn euch geholfen wurde bitte die Helfer positiv bewerten und das Thema als "erledigt" markieren.
spiele-deals.at dvd-forum.at
-
Die Ip darf noch nicht in der Datenbank sein und der Referer muss Google sein.
Mit dem Code klappt das leider irgendwie nicht. Scheint so als erkenne dass Script nicht, ob ich von Google komme:
PHP-Code:$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) && $_SERVER["HTTP_REFERER"]=='google' ) {
mysql_query("INSERT INTO ipsperre (ip, time) VALUES ('$ip', '$jetzt')") or die(mysql_error());
echo $werbung;
// IP wurde gefunden
} else { // ansonsten Verweigerung
echo "";
}
?>
-
Wenn es google sein muss wenn es die IP nicht gibt
dann statt false true
VOM Felix
if(@!mysql_fetch_array($pruef) && strpos($_SERVER["HTTP_REFERER"], 'google' ) ===true )Wenn euch geholfen wurde bitte die Helfer positiv bewerten und das Thema als "erledigt" markieren.
spiele-deals.at dvd-forum.at
-
05.11.08 18:25 #10
Danke für die Verbesserung, allerdings gibt strpos() kein true zurück.
hmmNaGut, verwende doch bitte die PHP Tags um Code in die richtige Box zu tun und das Highlight zu aktivieren.PHP-Code:if(@!mysql_fetch_array($pruef) && strpos($_SERVER["HTTP_REFERER"], 'google' ) !== false )
[php ][/php ]
Ohne Leerzeichen, versteht sich.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
klappt leider auch so nicht
Gibt es vielleicht eine andere Funktion um den referer auszulesen?PHP-Code:$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 "";
}
?>
-
Lass dir mal per print oder echo ausgeben.
Ja, werde es in Zukunft den BC Code verwenden nur dachte ich mir bei einer Zeile,PHP-Code:print $_SERVER["HTTP_REFERER"];
sei das ein wenig Umständlich.Wenn euch geholfen wurde bitte die Helfer positiv bewerten und das Thema als "erledigt" markieren.
spiele-deals.at dvd-forum.at
-
05.11.08 18:37 #13
Vergleiche bitte mit meinem Quelltext oben.
strpos() gibt niemals true zurück. Sondern boolean false oder int.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Ach, an das hatte ich nicht gedacht.
Ist ja logisch
Aber aufgrunder der Frage nach richtig oder falsch kommen dann solche Verwierrungen.Wenn euch geholfen wurde bitte die Helfer positiv bewerten und das Thema als "erledigt" markieren.
spiele-deals.at dvd-forum.at
-
Es funktioniert einfach nicht

Mit dem PHP Code erhalte ich folgendes, "hmmNaGut":
http://www.google.de/search?q=begrif...ient=firefox-a
Ähnliche Themen
-
IP-Sperre
Von susi19 im Forum PHPAntworten: 22Letzter Beitrag: 13.01.11, 11:20 -
Suche Refferer-Partner-Script
Von RageNo1 im Forum PHPAntworten: 2Letzter Beitrag: 14.02.05, 22:04 -
Vote + Sperre -- nein ich meine nicht IP Sperre ;) [umfangreich]
Von Muffinmampfer im Forum PHPAntworten: 6Letzter Beitrag: 02.08.04, 06:43 -
IP -Sperre
Von Yoda im Forum PHPAntworten: 11Letzter Beitrag: 08.06.03, 23:03 -
IP Sperre?
Von RageNo1 im Forum PHPAntworten: 6Letzter Beitrag: 22.03.03, 16:53





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren