Sicherheitsfrage

  • Hi

    Ich möchte auf meiner Register Site eine Sicherheitsfrage zu beantworten freigeben. Erst wenn die Antwort richtig ist, wird das Profil registriert.

    Die Frage wird aus einer einfachen Rechenaufgabe wie z.B. 35 + 27 = ? dargestellt. Bei jedem Reload entsteht eine neue Aufgabe.

    Haltet ihr diese Methode für sicher?

  • Sie ist solange sicher, bis jemand sein Bot auf deine Webseite einstellt. Und dann ist eine Rechenaufgabe zu einfach, das kann man problemlos automatisieren.
    Wenn du eine Frage nehmen willst, dann nimm eine Textfrage, wobei es schwierig sein kann da gescheite Fragen zu finden.
    Für kleine Sachen mach ichs so, dass ich mit Javascript einen hidden-Wert verändere, oder das Formular erst "absendbar" mache, das funktioniert dann bei Bots nicht. Bei den Usern ohne Javascript jedoch auch nicht, wobei das ein verschwindend kleiner Anteil ist.
    Ansonsten google mal nach "captcha alternativen" und du findest sicher noch andere Ideen.

    Einmal editiert, zuletzt von phore (17. Juni 2009 um 15:03)

  • Hmm ... was das captcha angeht, ist der Code denn nicht rechtlich geschützt? Ich möchte dadurch keine Probleme bekommen oder so.

  • Macht keine Probleme wenn der Code so im Netz steht.

    Captchas sind grössten teils auch schon geknackt.
    Einfach Rechenaufgaben bringen kaum was.
    Per JS was zu machen ist nicht so gut weil der User JS aktiviert haben muss und wird von Bots ebenfalls umgangen, es gibt Bots die verwenden schon WebKit :D

    Ich schreib mir was in ne Session und mach das dann in ein hidden field wenn es nicht übereinstimmt wird nichts gesendet und ne Fehlermeldung wird ausgegeben, ist auch gleich ein Schutz vor CSRF.

  • Lass doch Captchas, wenn es eine registrier seite ist lass den user seine Email bestätigen, unbestätigte User werden nach 7 Tage gelöscht

    Kannst auch per js ein form feld hinzufügen bischen verschlüsselt zu finden hilft auch


    mfg

  • Ich dachte da eher an PHP statt JS. Ich hatte bereits mal was ähnliches für ein Formular verwendet. Aber das mit dem E-Mail bestätigen finde ich eine gute Idee.

  • Nun ja Captcha ist sehr gut aber zu nervig, JS ist so gesehen ziemlich sicher, wenn du es ordentlich versteckst

    Denn ein Bot geht eben die Form durch schaut die Namen an und füllt es aus, kann sein das er JS auch durchgeht, dann muss er aber erst mal aus dem JS code das richtige herrausfinden und verstehen , wenn du das Ordentlich machst wird er es schwer haben


    mfg

  • Ich habe das mal in einem Formular so gelöst:
    -ein ankreuzfeld per css versteckt das wenn es aktiviert wird der eintrag als spam gilt. Daneben stand dann auch hier nicht klicken weil spamschutz.
    -die Zeit vom aufruf bis zum abschicken wurde festgehalten und wenn sie zu klein war, das habe ich manuell bestimmt durch testen, dann war es auch spam.
    -und zu guter letzt hatte in meinem Formular auch keine URL was zu suchen, also wurde, sobald eine URL oder dergleichen angegeben wurde der eintrag als spam behandelt.

    Das Formular lief dann sehr gut spamfrei.
    Habe diese methode dann auch für ein gästebuch verwendet und das war auch klasse.

  • Ich habe das mal in einem Formular so gelöst:
    -ein ankreuzfeld per css versteckt das wenn es aktiviert wird der eintrag als spam gilt. Daneben stand dann auch hier nicht klicken weil spamschutz.

    Kannst das Feld auch per CSS verstecken dann bekommen deine User das nicht mal mit.

    Zusammenfassend kann man sagen, dass man einen Spamschutz am besten auf seine Seite abstimmt. Ein Bild-captcha ist die allgemein gültige nervige Lösung - und je nach Webseite/Zielpublikum/usw. kannst du unauffäligere, bessere Spamschutz' einbauen.

  • Wäre es nicht möglich ein Bild mit einem richtigen Fenster oder mehreren zu erstellen und dann zu frage, wieviel Fenster sehen Sie?
    Oder Punkte und man muss sie zählen, wäre das nicht sicher?
    Also natürlich dynamisch, meine ich.

  • Ich hab mich nicht damit beschäftigt, aber ich glaube, Punkte zählen wäre noch verhältnismäßig einfach zu realisieren...

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • Ich hab mich nicht damit beschäftigt, aber ich glaube, Punkte zählen wäre noch verhältnismäßig einfach zu realisieren...


    Aber auch sicher genug vor Bots?
    Oder eben halt irgendwelche Dinge in einer Realwelt.
    Fenster, Vögel, etc.
    Das wäre doch ein perfekter Schutz und das sollte ja jeder User können.

  • Wenn du ein Bild aus der Realwelt nimmst, dann muss es fast ein statisches sein. Und dann muss man nur einmal seinen Bot einstellen und schon bringt es nichts mehr.

    Wenn du dynamisch z.B. Vögel auf ein Bild renderst, dann ist es auch für den Bot möglich sie auszulesen, wenn man ihm das mal beigebracht hat.

    Erst wenn du komplexe Grafiken machst, z.B. mit verschiedenen Vogelformen in verschieden Perspektiven in einem verschleiertem Bild, wird es wirklich sicher. Doch da bist du schon wieder nah am Captcha, was ja auch nur verlangt, dass du ein paar Buchstaben abtippst aus einem verschleierten Bild.

  • Nein ich würde Vögel und Bälle nehmen und dazu noch Hunde und andere Tiere, sowie Formen aufs Bild knallen.
    Das heisst die Frage wäre dann auf nem wilden Hintergrund und in einer Schriftart, die der Mensch lesen kann, ein Computer nicht (alte, antike).

    Wäre das vielleicht was?

  • Hm finde die Lösungen alle Kompliziert für den User was noch ziemlcih genail wäre wenn du mit JS ermittels ob die Mausbewegt wird , wenn sie beim absenden nicht bewegt wurde geht das Formular nicht....

    Ich mein natürlich kann ein Spezieller bot alles "herrausfinden", aber ich mein das du kein Problem damit haben wist weil sich keiner eine Mühe bei deiner Seite macht

    mfg

  • Daher habe ich noch nie Captchas auf meiner Seite gehabt xD

    Ich denke, man sollte zuerst abschätzen, ob es für die Seite überhaupt notwendig ist und ob es sich lohnen würde.
    Am besten, man machts mal ohne Captchas und wenn zuviel Spam kommt, dann kann mans ja mal überlegen.

  • Darauf achten:
    -Statt Ankreuzfeld nimm lieber ein Textfeld mit dem Namen email o.ä.
    -Bau ein Delay ein, wenn der Bot 10 Sekunden warten muss deswegen, ärgert er sich schön
    -In externer CSS-datei verstecken