input hidden - wo ist der sinn?

  • Hallo!


    Wenn ich ein verstecktes Formular absende , kann ich die Info doch in der Adresszeile lesen.
    Wo ist da der Sinn?


    Bitte helft mir von der Leitung runter ^^


    mfg
    ^^

  • 1. Es macht sehr viel Sinn wenn du das ganze über das POST Attribut regelst.


    2. Für Nutzer die keine Ahnung davon haben ist es trotz URL nicht erschließlich was genau das da überhaupt bedeutet.

  • Das ist halt genau dafür das du eine Information mit sendest, z.B. kannst du dann überprüfen ob das Formular wirklich gesendet wurde.


    Es kommt natürlich blöde wenn da plötzlich ein Eingabefeld ist wo "gesendet" drinne steht :wink:

  • Zitat von "lauras"

    Oder ein leichter SPAM-Schutz. Die meisten Bots füllen alle Felder aus, also einfach überprüfen ob das Feld leer ist ;)


    LG


    Ein Beispiel:


    Man baut sich eine Registration:


    benutzername
    passwort
    email-adresse


    Jetzt wissen wir einfach mal, das Bots Felder die mail oder email heißen ausfüllen.


    Das nutzen wir aus, wir erstellen unser Formular wie folgt:



    Zur Erläuterung:


    <?php print mktime(); ?>
    Das gibt den aktuellen "Epochen-Zeitstempel" zurück, das heißt, uns wird in das value Attribut das jetzige Datum + Uhrzeit in Form von 1338837900 eingetragen, dieser Zeitstempel ändert sich sekündlich und ist somit quasi einzigartig, man kann auch einfach Sachen wie "hallo_wie_gehts" eintragen, das ist allerdings nicht ganz so sicher.


    Das Feld welches wir email genannt haben, wird dem Benutzer nicht angezeigt (type="hidden"), noch besser ist, das ganze als text zu nutzen, und per CSS unsichtbar zu machen, erhöht die Sicherheit, ist aber nicht zwingend erforderlich.


    Das Feld wird Benutzern nicht angezeigt, Bots jedoch lesen es sehr wohl aus, und werden es daher auch ausfüllen, wohingegen Benutzer es frei lassen.


    Per PHP prüfen wir nun einfach ob email ausgefüllt wurde, wenn ja, soforrt abbrechen und NICHTS ausgeben.

  • Rekapitulation:


    Als Spam-Schutz ist ein, vor dem User verstecktes Feld gedacht, welches er unmöglich ausfüllen kann (da er es nicht sieht).
    Wenn also das Feld leer ist, nehmen wir (Frage:Mit hoher Warscheinlichkeit oder mit Sicherheit?) an, daß das Formular vom User ausgefüllt wurde.
    Wenn es aber ausgefüllt ist: Abruch!


    Richtig?


    mfG


    ^^
    ps: @basii
    Danke für die Details ^^

  • Du wirst es NIE mit Sicherheit sagen können was genau da gerade dein Formular ausfüllt.


    Niemand kennt die Spam Bots heute ausreichend um sagen zu können was die nicht alles ausfüllen, deshalb sagte ich auch man sollte die Felder eher per CSS unsichtbar machen, da Bots Felder die mit "hidden" markiert sind auslassen KÖNNTEN, weiß man halt nicht.


    Bei CSS ist das Problem das es falsch ausgelagert sein könnte und somit das Feld angezeigt wird, dann wird der Nutzer es allerdings trotzdem frei lassen, oder aus reiner Verzweiflung den Vorgang abbrechen und sich ein anderes Gästebuch suchen...


    Aber wenn das Feld leer ist kannst du schon mit 98,9678% (Angabe ohne Gewähr :lol: ) Warscheinlichkeit sagen das alles vom Benutzer ausgefüllt wurde.


    Ein Verstecktes Inputfeld ist in Sachen einfacher Schutz die beste Möglichkeit, ansonsten kannst du mit PHP alles mögliche anstellen, z.B. Browser prüfen o.ä. (oder ähnliches), aber damit wollen wir uns ein anderes mal beschäftigen :)


    Kurze Zusammenfassung:


    Versteckte Input Feld einfach mit "mai","e-mail","email", o.ä. benennen und prüfen ob das irgendwer ausgefüllt hat im Test.


    Ergebnis: Sehr Gut (Note: 1.19)


    Ja ich weiß jetzt schreibe ich Müll :?

  • Wer den absolut sicheren Spamschutz erfindet kriegt von mir einen Orden, dies ist halt eine einfache Möglichkeit grob zu unterscheiden zwischen Spam und nicht Spam.


    "Spam oder nicht Spam, das ist hier die Frage!"

  • Naja.. das mit den Hidden feldern ist für Spambots heutzutage eig kein hinderniss mehr..
    Ich mein.. die seiten werden dabei ja maschinell ausgelesen.. die vorhanden form tags (bzw die namen der form tags) gespeichert und dann einfach eine POST/GET anfrage an den server gesendet.. dabei ist es kein problem die type="hidden" felder zu ignorieren..


    Es dient vorallem dazu, daten die den user nicht zu interessieren haben, über das formular zwischen zu speichern. Aber dadurch das jeder die Values ändern kann wie er will, sollten da niemals wichtige sachen drinstehen...


    Gab schon Webshops die über hidden felder die preise mitgeschickt haben.. was das für den Shop hies, kann man sich bestimmt gut vorstellen..


    Greetz

  • Meiner Meinung nach jagen diese manuell eingerichteten SpamBots eher große Seiten wo sich das lohnt, und nicht so Kleinanbieter wie uns, darauf sehen es eher XSS - Kiddies mit alten AutoSpambots ab.

  • ja.. trozdem jedes skript-kiddi weis wie ne regex funktioniert..


    Naja.. es gibt ja genügend spammbots.. die einfach das web auf alles durchstreifen was sie finden. Captcha is einfach sicherer.. man kann glück haben oder auch nicht =D.

  • Jop, guter link.


    Aber captchas sind deswegen nicht schlecht.. sonnst würde es nicht so viele geben. Captchas sind nicht nur für Hige-End spam bots, sondern auch für menschen die es lustig finden sachen voll zu spammen.. und wenn die nicht über die nötige kenntnisse verfügen, ist ein Captcha lohnenswert.


    Jeder weis, das wenn jemand gezielt etwas spammen will, er das auch schafft. Daher geht es eher darum, die kleineren, oder zufälligen spamm bots/ leute daran zu hindern.


    Es gibt zu jeder spamm abwehr eine lösung.


    Greetz TimTim

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!