php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 19-07-2007, 11:52
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Unhappy E-Mail-Adresse auf Validität prüfen

Guten Tag,

ich bekomme über mein Kontaktformular seit kurzem mehrere hundert Spam-Mails pro Tag. Dies liegt unter anderem daran, dass ich bisher keine Prüfung der Daten vornehme (sehr leichtsinnig, ich weiss).

Nun habe ich mich erkundigt und einige Lösungsansätze gefunden.
Zum Einen habe ich von der Funktion checkdnsrr gelesen, die wohl überprüft, ob die Domain überhaupt existiert und angeblich auch die Existenz des Benutzernamens prüft. Nach einigen Tests musste ich feststellen, dass diese Funktion nicht immer ein korrektes Ergebnis liefert (insbesondere in Bezug auf den Benutzernamen).
Außerdem funktioniert das wohl nicht bei Windows-Servern.

Ist es sinnvoll diese Funktion (zusätzlich zu anderen Abfragen) zu nutzen?

Außerdem habe ich noch das ein oder andere Pattern für reguläre Ausdrücke gefunden. Allerdings hatte ich mit keinem der (ca. 5 unterschiedlichen, ausführlichen) Pattern Glück. Da diese Pattern wie bereits erwähnt sehr ausführlich und umfangreich sind, fällt es mir sehr schwer den / die Fehler zu finden.

Kann mir diesbezüglich jemand weiterhelfen?

Gruß
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #2 (permalink)  
Alt 19-07-2007, 11:54
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
ich bekomme über mein Kontaktformular seit kurzem mehrere hundert Spam-Mails pro Tag.
dagegen hilft nur ein gutes captcha. google mal danach.
Mit Zitat antworten
  #3 (permalink)  
Alt 19-07-2007, 12:08
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm, die Sache mit dem Captcha habe ich mir auch schon überlegt.

Problem an der Sache ist, dass es sich bei den Usern unter anderem (einem nicht zu verachtendem Teil) um ältere und somit zum Teil sehbehinderte Personen handelt.

Die Captchas, die ich bisher "kennengelernt" habe, waren zum Teil sehr schlecht lesbar. Dazu kommt, meine Beführchtung, dass manche evtl. den Sinn nicht verstehen und somit "ausgesperrt werden".

Kannst du mir evtl. ein gutes empfehlen?

Zu den anderen Ansätzen: Sollte man diese Prüfungen dann ganz lassen, oder evtl. zusätzlich (angenommen man entscheidet sich für ein Captcha) prüfen?
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #4 (permalink)  
Alt 19-07-2007, 12:17
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: E-Mail-Adresse auf Validität prüfen

Zitat:
Original geschrieben von chefdesigner
Zum Einen habe ich von der Funktion checkdnsrr gelesen, die wohl überprüft, ob die Domain überhaupt existiert
Der absolut überwiegende Teil des Spams wird m.E. mit real existenten Domainparts in der "Absenderadresse" verschickt.
Zitat:
und angeblich auch die Existenz des Benutzernamens prüft.
Das halte ich für ein Gerücht.

Du meinst vermutlich nicht Benutzername, sondern den Teil einer E-Mail-Adresse vor dem @?
Zitat:
Nach einigen Tests musste ich feststellen, dass diese Funktion nicht immer ein korrektes Ergebnis liefert (insbesondere in Bezug auf den Benutzernamen).
Das wäre ja höchst kontraproduktiv, wenn man damit prüfen könnte, ob ein E-Mail-Empfänger unter einer bestimmten Domain existiert - an der Information hätten ja auch die Spammer selber ein großes Interesse.
(Zu genau diesem Zweck gab [/gibt] es ja auch das Finger-Kommando, was heutige Mailserver aber aus dem genannten Grund so gut wie gar nicht mehr unterstützen.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 19-07-2007, 12:18
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

checkdnsrr() und Benutzername wäre mir neu. Die einzige Möglichkeit den Benutzernamen zu verifizieren wäre folgender Ansatz:
Zerlege die Email Adresse in Benutzer und Domain
Stelle die IP Adresse des zuständigen Mailservers fest
Baue eine Verbindung zum Mailserver auf
Versuche dem Mailserver auf die angegebene Adresse eine Email zuzustellen
Wenn er sie akzeptiert dann könnte der User existieren.
Um sicher zu gehen, dass du es nicht mit einem offenen Mailserver zu tun hast, könntest du noch versuchen ein oder zwei Mails an völlige Phantasiebenutzer bei dieser Domain zu schicken. Werden diese nicht aktzeptiert, sollte alles i.O. sein mit der Email Adresse.

Ziemlich viel Aufwand und drum würde ich auch meinen, dass eine Captcha Lösung schneller umgesetzt ist.


Gruss

tobi
Mit Zitat antworten
  #6 (permalink)  
Alt 19-07-2007, 12:23
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von jahlives
Versuche dem Mailserver auf die angegebene Adresse eine Email zuzustellen
Wenn er sie akzeptiert dann könnte der User existieren.
Um sicher zu gehen, dass du es nicht mit einem offenen Mailserver zu tun hast, könntest du noch versuchen ein oder zwei Mails an völlige Phantasiebenutzer bei dieser Domain zu schicken. Werden diese nicht aktzeptiert, sollte alles i.O. sein mit der Email Adresse.

Ziemlich viel Aufwand
Nicht nur "ziemlich viel Aufwand", sondern eine immense Belästigung.

Man überlege sich mal, um wie viel der E-Mail-Traffic steigen würde, wenn so jeder Harri vorgehen würde, der eine E-Mail-Adresse "überprüfen" will ...

Nein, so einen Unfug bitte dringend bleiben lassen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 19-07-2007, 12:50
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Alles klar, erstmal vielen Dank für die hilfreichen Beiträge.

Ich komm also um ein Captcha nicht herum. Aber hierzu noch die Frage: Gibt es benutzerfreundlichere Lösungen (wie bereits erwähnt, sind viele mir bekannte Captchas teilweise sehr schlecht lesbar), die auch von älteren, sehschwächeren und evtl. sogar behinderten Menschen problemlos benutzt werden können?
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #8 (permalink)  
Alt 19-07-2007, 12:54
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nun captchas sind schlecht lesbar gemacht damit sie nicht maschinell auslesbar sind.

Wenn Du selbst eins erstellst kannst Du Dich annähern, in Deinem Fall nimmst Du erstmal einfach eine recht gut lesbare Grafik mit grossen Buchstaben und testest aus wie das a) bei Deiner Zielgruppe ankommt und b) die spammer abhält, Dein Formular auszufüllen.
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #9 (permalink)  
Alt 19-07-2007, 13:14
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm, gut, dass Captchas absichtlich schlecht lesbar sind ist schon klar. Sonst hätten Sie ja keinen Sinn.

Ich werd' jetzt einfach mal versuchen ein einfacheres Captcha zu erstellen, ich nehme mal an, hierzu wird die GDLib benötigt und verwendet, oder?
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #10 (permalink)  
Alt 19-07-2007, 19:52
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Ich werd' jetzt einfach mal versuchen ein einfacheres Captcha zu erstellen, ich nehme mal an, hierzu wird die GDLib benötigt und verwendet, oder?
Richtig angenommen.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #11 (permalink)  
Alt 19-07-2007, 20:14
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Ich halte nicht viel von Captchas .... ausserdem gibt es schon OCR Bots mit erstaunlich guten Ergebnissen
Man sollte erst alle unsichtbaren Methoden anwenden, bevor man den Besucher mit Suchbildchen nervt oder gar ausschließt.

1. cookiezwang
2. formwächter
3. doppelpost Sperre
4. Mit CSS versteckte (honigtopf) Formfelder
5. Random Formfeldnamen
Die Dumbeutel Bots bleiben damit aussen vor

1,2 und 3 kannste hier bewunden:
http://www.technischedaten.de/pmwiki...teBuchSchlicht

Geändert von combie (19-07-2007 um 20:20 Uhr)
Mit Zitat antworten
  #12 (permalink)  
Alt 19-07-2007, 22:41
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@combie

Vom Ansatz her finde ich einige deiner Vorschläge sehr interessant.

Okay, Cookiezwang find ich jetzt weniger toll, schließt ja noch mehr User aus als die Darstellung eines Bildes.
Formwächter kenn ich bis jetzt noch gar nicht, worum handelt es sich hierbei denn?
Die idee mit der Doppelpost-Sperre werde ich auf jeden Fall aufnehmen, von honeypots hab ich auch schon gehört, bin mir jetzt aber nicht ganz sicher ob ich das richtig im Hinterkopf habe.
Bei einem Honeypot handelt es sich um ein mit CSS verstecktes Feld, welches vom User quasi nicht ausgefüllt werden kann, Bots hingegen sehen ein Feld und füllen es aus. Hab ich das so richtig verstanden? (hab mich bisher nicht wirklich damit befasst).
Gut, die Idee mit den Random Formfeldern müsste man sich jetzt genauer ansehen, die klingt schon fast wieder etwas abenteuerlich. Oder beziehst du das nur auf ein einziges Feld? Denn ehrlich gesagt möchte ich keine Seite haben, die dann total strange klingende Feldnamen hat.
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #13 (permalink)  
Alt 19-07-2007, 23:22
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von chefdesigner
... möchte ich keine Seite haben, die dann total strange klingende Feldnamen hat.
Er redet nicht vom <label></label> sondern vom name-Attribut der Inputs. Die sieht keiner, kannste "leckmichamarsch" reinschreiben.
Mit Zitat antworten
  #14 (permalink)  
Alt 19-07-2007, 23:24
chefdesigner
 Registrierter Benutzer
Links : Onlinestatus : chefdesigner ist offline
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 257
chefdesigner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@onemorenerd Das ist mir schon klar, ich will aber auch sauberen Code haben
__________________
Das Genie überblickt das Chaos!

Wer Rechtschreibfehler findet, darf sie behalten!
Mit Zitat antworten
  #15 (permalink)  
Alt 19-07-2007, 23:50
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Das "sauberer Code" Argument verstehe ich jetzt nicht ganz...
Macht aber auch nix!

Und ja der Honypot wurde von dir richtig erkannt!

Zum Cookiezwang:
Wer heutzutage ohne Cookies unterwegs ist, hat bei eigendlich keinem Shop, Forum oder gar Bank eine Chance. SessionIds per URL kommen zum Glück langsam aus der Mode. Und ohne Sesions bekommst du die Capatchas nicht in den Griff. Also auch da schon der Cookiezwang!!!!


Der Formwächter ist ein Zufallswert, welcher in Session und einem Hiddenfield gespeichert wird. Dieser Wert wird bei jeder Formular Auslieferung neu erzeugt. In der Formularauswertung wird dann auf gleichheit geprüft. Das ist auch ein guter F5 Doppelpost Erkenner.

Ein Bot müsste also eine Cookieabhandlung durchführen, das Formular analysieren, ausfüllen und abschicken. Honypot und die Randomnamen erschweren das analysieren und ausfüllen.

Geändert von combie (20-07-2007 um 01:09 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:18 Uhr.