Huhu ihr lieben,
leider ist im Moment so viel um die Ohren (eigene Firma blabla) das ich zu nix komme. Weil ich zu "unstrukturiert" bin bzw. weil die Masse an Kunden so zugenommen hat, dass ich mich in der Orga verändern muss.
Dazu brauche ich eine sehr simple HTML webseite (statisch, nix CMS) in der 6 Eingabefelder sind, die jemand ausfüllen kann und deren inhalte dann stumpf bei button_click in eine TXT Datei gespeichert werden.
Hat jemand sowas schonmal gemacht? Weiß jemand wo es Beispiele gibt?
Ich habe schon diverse online HTML Editoren gefunden wo ich mit Inputboxen gespielt habe. Aber die Daten müssen gespeichert werden.
Danke & Grüße,
das TschipSät
(HTML) Statische Webseite mit Eingabefeldern
-
-
Wo soll denn die Datei gespeichert werden?
Auf Server- oder Clientseite?
Mit reinem HTML wirst Du nicht weit kommen. In Abhängigkeit zu meiner Frage kannst Du die Daten bspw. mittels JavaScript oder PHP verarbeiten.
-
Die Datei soll auf dem Server gespeichert werden.
Wenn da ein bisschen PHP mit bei ist, ist das ok. Ich mag nur kein programmiermonster haben, weil ich im Prinzip nur Eingaben von einer Person für andere Personen sichtbar haben möchte.
Sprich die "&edit" Website füllt die Textdatei und die "&read" Website zeigt den Inhalt an.
-
sowas?
Store HTML Form Data in Text File Using PHP - CodeSpeedyPHP program to save or store HTML form field data in a text file. Especially you can use this to learn how to avoid the Undefined index: error.www.codespeedy.com -
Bäms!
Funktioniert. Damit ist mir sehr geholfen. Danke!
-
Für solche Fälle kann ich persönlich sehr Python Tornado empfehlen. Damit kann man flugs kleine Webanwendungen wie so etwas zusammenschustern. Ein HTML File mit dem Formular, einen Handler für POST, und ab geht die... Post.
Aber das Problem wurde ja schon auf andere Weise gelöst. Viele Wege führen nach Rom.
-
Vergiss nicht,
– Eingaben zu validieren (Sinnhaftigkeit der Textfelder)
– HTML und Sonderzeichen zu escapen– Maximallängen zu definieren
– Mehrfacheingaben zu verhindern
– Eigenschaften der Outputdatei kontrollieren (Ort, Rechte, Überschreiben/Append usw.)
– willkürliche IDs zu vergeben, damit nicht mittels Enumeration andere Daten ausgelesen werden können
– bei Zahlen Locale-Interpretation von , und . durchzuführen
-
Danke für die Tipps, die ich zur Hälfte schon im Kopf habe, damit man dort keinen Code injektieren kann.
1) ja
2) ja
3) wie meinst Du? Ich kann in ein Feld einen Text eingeben. Fertig. Was ist da mehrfach?
4) guter Hinweis
5) welche IDs? Den schreibmodus kann nur ich und im Falle eine zweite Person betreten
6) kenne ich nicht. Wenn ein Gewicht eingegeben wird, ist doch ein Komma im Textfeld wahrscheinlich
-
3) Mehrfaches Absenden würde beliebig häufiges Anhängen an die Textdatei ermöglichen, dazu implementiert man eine Nonce (einmalige Zeichenfolge), die kein zweites mal angenommen werden kann.
5) Wenn keine Paramenter übergeben werden, ok. Aber sichere den Lesemodus gut ab …
6) Dezimalpunkt und Tausendertrennzeichen sind in manchen Ländern vertauscht. Manche geben 3000 ein, manche 3.000, wird daraus dann 3000 oder 3,0?
-
Ah, gute Hinweise!
3) würde ich mit nem einfachen Timer (1 Eingabe pro Minute) und/oder einer maximalen Dateigröße (oder Zeilen im Textdokument) beschränken.
5) fliegt somit in 4 mit rein. Würde jemand via bruteforce in den schreibmodus reinkommen, wäre er in 4 und 3 gefangen. Sprich die Beschädigungen sind Zeit- und Größenbegrenzt
6) ah, das meinst Du. Check, wird was internationales, also werde ich ne Regel einbauen wie Zahlen kleiner 1 und größer 999 zu schreiben sind
-
Tipp: Unsichtbares Datumsfeld, das vom Server vorausgefüllt wird und beim Parsen der Formulardaten in bestimmter Range liegen muss, z.B. mindestens 10 Sekunden, maximal 10 Minuten. So verhinderst du "prellen" und Bot-Ausfüllungen über Tage hinweg
-
Vor dem "Absenden"-Button könntest statt dem Datumsfeld den Absender noch eine kleine Rechenaufgabe lösen lassen.
Damit verhindert du, dass (mittelfristig) nur noch "👉👌" Content in deinen txt Dateien steht, der da von Bots eingetragen wird
-
Ich sagte ja bereits, dass die Methode Bots abhält. Ein gutes CAPTCHA ist eins, das man nicht sieht.
In Zusammenhang sind auch Honeypots sehr effektiv:
Hinter dem Label "E-Mail" stehen zwei Felder: Das erste bekommt die Id "email", wird aber per CSS ausgeblendet. Das zweite bekommt die Id "state", "payment", "shipping" oder so ähnlich. User sehen nur letzteres und schreiben hier ihre E-Mail-Adresse rein. Aber Bots tragen ihre Fake-Email brav bei "email" ein
-
Sehr geil. Danke für die Tipps und Hinweise.
Gefällt mir sehr, auch weil es so einfach ist. Aber auf die Idee muss man erstmal kommen
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!