Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „PHP: IP verlässlich auslesen bzw. Länder sperren.“

Whykiki

Komischer Typ und Köter

Hallo,

mache wie jede WM und EM ein kleines Tippspiel für Freunde und Bekannte. Dafür habe ich ne Website gebaut, mit Gästebuch. Anscheinend haben sich aber die Spammer darauf eingeschossen.

Musste jetzt zweimal hintereinander die komplette Datenbank löschen, weil die jeweils mit mehr als 10.000 Einträgen vollgemüllt war.

Ich bin leider nicht der PHP-Spezi....und versuche derzeit folgende Lösung:

- Auslesen der IP-Adresse
- diese ermittelte IP dann mit .htaccess aussperren

Soweit so gut...

So ermittele ich die IP und schreibe sie dann später ein eine Datenbank:
Code:
$ip = $REMOTE_ADDR;

Problem dabei: Meine IP schreibt er jedesmal schön mit in die Datenbank, aber die IP der Bots leider nicht. Woran liegt das bzw. wie bekomme ich trotzdem deren IP raus?


Alternative:
Hat jemand eine Ahnung, welche IP-Adressen ich zulassen müsste in meiner .htaccess um sicherzustellen, dass NUR deutsche User die Seite besuchen können??
Z.b. 80.XXX. oder so...?

Da das Tippspiel nur für meine Freunde ist, kann ich ruhig den Rest der Welt aussperren.

Würde mich freuen, wenn ihr mir helfen könntet.

Danke und Gruss Whykiki
 

Tim

Hutträger

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Mach doch mit htaccess einfach nen Passwortschutz rein den du an deine Freunde und Bekannte weitergibst.
 

Whykiki

Komischer Typ und Köter

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Dafür sinds dann doch wieder zuviele bzw. habe ich nicht von allen die Daten, um Ihnen das
Passwort mitzuteilen.
Sind halt Freunde und "bekannte" (also u.a. Arbeitskollegen eines Freundes, Studienkollegen u.s.w.)

Aber danke dir trotzdem, Hutkollege ;-)
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Wie wäre es mit einem CAPTCHA? Das hält - wenn gut gemacht - 99,9% aller Bots direkt auf. Wie man das implementiert, steht auf ca. Seiten.


Duddle
 

Tim

Hutträger

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Das kann doch ein ganz einfacher Spamschutz sein. Mach noch ne Zeile dazu und schreib daneben "hier bitte die unten abgebildete Frucht eintragen". Dann noch n Apfel drunter, fertig.
Die Bots hält das auf, allerdings ist natürlich schnell ein Script geschrieben das einfach apfel einträgt. Die Mühe lohnt sich aber einfach nicht wenns nur für Freunde und Bekannte ist.
Ansonsten lies dir das mal durch, sollte auch klappen.
 

Whykiki

Komischer Typ und Köter

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Es ist ja nicht so, dass ich noch nix hätte....da hats anscheinend jemand drauf abgesehen :-((

Ich hab ZWEI versteckte Formularfelder. Zwar bescheuert 2 zu haben, aber eines davon habe ich mittels externer CSS und dann "display:none" und ein weiteres mit visibility:hidden.
Ich hab einfach mit beiden experimentiert. Dieser werden ja vom "Mensch" nicht ausgefüllt und von einem "dummen" Bot schon. Bei mir scheints dann ein "schlauer" Bot ODER ein echter, dafür bezahlter Mensch sein (soll's ja geben?!).

Zusätzlich hab ich noch ein RollDown mit einer Abfrage, bei der man "Mensch" auswählen muss.

Ausserdem habe ich dann in den Stats meiner Page nachgeschaut und geguckt, welche IP besonders oft auftritt und diese dann mit einer htacces gesperrt.

Ich dachte das reicht...tut es aber nicht.

Captcha kann ich leider nicht. Ich bin schon froh, dass ich das Obige alleine hinbekommen habe.

Ich hab keine weitere Idee mehr :-((
 

Tim

Hutträger

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Die versteckten Felder bringen nix, die Bots füllen die trotzdem aus.
Und das Rolldown ist auch Quatscht. 2 Versuche und es ist klar welches klappt.
Probier mal das mit dem Apfel aus. Da muss ein Mensch Hand anlegen damit da wirklich apfel eingetragen wird. Damit bin ich bisher immer gut gefahren.
 

Whykiki

Komischer Typ und Köter

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

OK. Werd ich machen. Darf ich nochmal was fragen?
Ich bin eigentlich ein PHP-Noob und habe jetzt ganz, ganz rudimentär die Abfrage gemacht.

Code:
 $spamcontrol .= $_REQUEST['kontroll'];

if ($spamcontrol == "Apfel"){

Das heisst ja dann, dass der User "Apfel" eingeben muss. Ist das so korrekt oder müsste ich das anders machen?
Kann der Bot das geforderte Wort "Apfel" aus meiner Datei auslesen uns nutzen ?
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Das Problem ist, mit IP-Sperren wirst du fast garnichts erreichen. Ist eine IP gesperrt, wird eben der nächste Proxy benutzt. Der Tropfen auf dem heißen Stein.

Es gibt auch fertige CAPTCHAs, sogar genug, auch mit Anleitung. Es muss ja nicht gleich ein Bild sein, aber das ist eben eine der bisher sichersten Methoden.


Duddle
 

Tim

Hutträger

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Nein, kann er nicht auslesen. Aber du musst noch abfragen ob jemand "apfel", also kleingeschrieben eingegeben hat.
 

Whykiki

Komischer Typ und Köter

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

OK. So hab ich's jetzt gemacht.

Datei "eintrag.php"

Code:
- Bild einer Birne
- "Frage: Was siehst du? (Nur Kleinbuchstaben)!"
- Formularfeld in das man Birne eingeben muss

Datei "entr-efgXX678kuzh-X321.php" (die Datei hieß vor fünf Minuten noch aders, hab sie auch mal umbenannt)

Code:
$ip = $REMOTE_ADDR;
$spamcontrol .= $_REQUEST['kontroll'];
$spammueller .= $_REQUEST['mueller'];
$fruechtchen .= $_REQUEST['fruchtfrage'];
if ($fruechtchen == "birne"){
if ($spammueller == ""){
if ($spamcontrol == "Mensch"){

Dreieinhalbfach gemoppelt hält besser ;-)

Edit:
...und shon wieder drin. Schon wieder 3 Einträge in vier Minuten...
Ey unglaublich!!! Wie funktioniert denn sowas?? Der Bot oder wer auch immer wusste innerhalb von Sekunden, was er eintragen musste. Ich hatte das gerade erst hochgeladen.

Ändern die sofort ihr Skript, geht das automatisch?
 
Zuletzt bearbeitet:

Tim

Hutträger

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Das ist komisch, sicher, dass du sonst keine Lücken in deinem Script hast? Haste mal nen Link + den kompletten Quelltext?
 

Whykiki

Komischer Typ und Köter

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Hab dir mal ne PN geschickt. Wollte den Link jetzt nicht unbedingt noch online stellen...
 

sokie

Mod | Web

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

schonmal drüber nachgedacht zunächst die REGISTER_GLOBALS "off" zu setzen?
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Naja, 3 Einträge in vier Minuten schafft auch problemlos ein Mensch. Und wenn ich dazu noch ein kleines Script in AutoHotkey o.ä. schreibe, dass automatisiert die Felder ausfüllt, dann ist das alles kein Problem.

Also entweder hast du einen sehr engagierten u./o. einsamen Menschen vor dir sitzen (zum fünften Mal: bau ein richtiges CAPTCHA ein), oder der Angreifer passt sein Script entsprechend schnell an.

Bei ersterem kannst du nichts machen, ausser die IP zu sperren (was wie gesagt kaum was bringt) und vielleicht auf wiederkehrende Einträge zu achten (wenn er immer wieder das gleiche abschickt, kannst du auch das prüfen). Bei letzterem hilft ein richtiges CAPTCHA, da dann kaum ein Script eine Chance hat.

Duddle
 

CIX88

Aktives Mitglied

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Mit der IP sperren geht sicher in die Hose.
Andere Möglichkeit wäre noch HTTP_ACCEPT_LANGUAGE abzufragen.
Ist allerdings auch nicht die beste Lösung.
 

Whykiki

Komischer Typ und Köter

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Meine Fresse (sorry für das!) manchmal sieht man den Wald vor lauter Bäumen nicht...

Wisst ihr worin das Problem lag? Warum die so schnell mein Skript überlisten konnten?
Und warum immer nur meine IP mitgeschrieben wurde und die der Bots nicht?

Ich hab heute morgen nochmal meine Birne angestrengt und überlegt wieso und weshalb überhaupt das sein kann...

...UND DANN FIEL MIR AUF: Ich blöder Idi** habe einen Spiegel dieser Tippspiel-Page auf dem selben Server in einem anderen Verzeichnis liegen gehabt. Dort war das gleiche Forum eingebunden NUR OHNE SICHERHEITSFUNKTIONEN!!! Und OHNE IP-Abfrage. Damit wäre auch diese Sache dann klar.

Die IP habe ich nur in dem neuen Skript abgefragt und weil die Bots alle das alte benutzten ist sie natürlich nicht mitgeschrieben worden.

Danke euch.
 
E

eclypsi

Guest

AW: PHP: IP verlässlich auslesen bzw. Länder sperren.

Ich würde nochmal ganz sicher gehen, ob der Spammer das Wort "birne" kennt oder nicht ein Programmierfehler zugrundeliegt.
Du kannst ja die Anfragen ja mal aufzeichnen, z.B. in die Datenbank. Wenn der Spammer tatsächlich das Bild studiert hat oder sogar einen Lösung hat, die das Bild automatisch identifiziert hat, kannst du davon ausgehen, dass du zu einem Captcha oder einer anderen Sicherheits-Lösung greifen musst.

Meine Idee geht in die Richtung: Stelle eine Frage aus dem Bereich Fußball und lege eine andere Seite an, die als Ebene oder Popup zu öffnen ist, auf der die Antwort steht, falls man es nicht weiß. Gebe die Antworten am besten natürlich als Grafik, aber auch das erfordert ein wenig Aufwand.

Je nach Server würde ich auch nochmal schauen, ob der wirklich dicht ist oder nicht schon gehackt wurde, das könnte ggf. auch einiges erklären.

Vergleiche würde ich mit strtolower($str) machen wg. Groß- und Kleinschreibung.
 
Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.182
Beiträge
2.582.056
Mitglieder
67.254
Neuestes Mitglied
MKP
Oben